1.libarclite 文件缺失问题解决方案
编译报错信息:
Showing Recent Messages
SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a'; try increasing the minimum deployment target
报错原因:
由报错信息可知,Xcode 默认的工具链中缺少一个 工具库libarclite_iphoneos.a
我们只需要找回或者补充这个工具库就行了。
解决方法:
1.arc文件包:
下载地址
2.前往路径
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/
3.将下载的arc文件夹复制到上述lib文件夹下。
2.HandyJSON 报错
Command SwiftCompile failed with a nonzero exit code
解决方法:
修改一下HandyJSON库的编译模式:
Pods -> target 中 选中 HandyJSON -> BuildSettings -> Compilation Mode -> Release -> Incremental
如下图:

3.打包后上传出错
Validation failed
Invalid Executable. The executable ‘xxx’ contains bitcode.(ID: xxx)
出错原因:
Bitcode 是一种中间表示形式,在 Xcode 中打包提交到 App Store 审核时,如果出现包含 Bitcode 的报错,这通常意味着您的应用没有正确包含 Bitcode。Bitcode 是苹果的一项要求,它允许苹果在 App Store 中对您的应用进行进一步的优化。
当提交应用到 App Store 时出现与 Bitcode 相关的问题,您需要手动移除 framework 中的 Bitcode。framework 是指 macOS 和 iOS 项目中的一个软件框架,它是一种包含代码、资源和其他文件的包,用于实现特定的功能或服务。framework 通常用于提供应用程序的某些部分,如用户界面元素、数据处理功能或其他服务。
解决方法
1.工具介绍
xcrun bitcode_strip 是一个命令行工具,用于手动去除对应 framework 的 Bitcode,命令格式如下:
xcrun bitcode_strip -r ${framework_path} -o ${framework_path}
${framework_path} 是一个占位符,表示 framework 的二进制文件路径。在实际使用命令时,您需要将 ${framework_path} 替换为具体的文件路径。
2.举例使用:
一个名为 xxxx.framework 的三方库,并且它位于 /path/~/xxxx.framework 路径(如果用Pod管理三方库,请去项目中Pods下寻找),那么您可以按照以下方式处理:
步骤一:
通过 cd 命令进入到 xxxx.framework 的路径。
如果是通过 pod install 获取的 SDK,则进入 pods 文件夹。
步骤二:
执行以下命令检查 framework 是否包含 bitcode,返回 0 即为不包含。
otool -l xxxx | grep __LLVM | wc -l
// 例子查询 AliyunPlayer.framework 是否包含 bitcode
otool -l AliyunPlayer | grep __LLVM | wc -l
步骤三:
如果检测结果不是 0,则继续执行以下命令移除 xxxx.framework 的 Bitcode。
xcrun bitcode_strip -r xxxx -o xxxx
// 例子去除 AliyunPlayer.framework 的 bitcode
xcrun bitcode_strip -r AliyunPlayer -o AliyunPlayer
4.编译报错
Sandbox: rsync.samba(96559) deny(1) file-write-unlink xxx
升级Xcode16项目并且引入pod后,编译报错。
解决办法:Build Settings -> 搜索 sandbox -> Build Options -> User Script Sandboxing -> NO