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
的 framework
,并且它位于 /path/~/xxxx.framework
路徑,那么您可以按照以下方式處理:
步驟一:
通過 cd
命令進入到 xxxx.framework
的路徑。
如果是通過 pod install
獲取的 SDK
,則進入 pods
文件夾。
步驟二:
執行以下命令檢查 framework
是否包含 bitcode
,返回 0 即為不包含。
otool -l xxxx | grep __LLVM | wc -l
步驟三:
如果檢測結果不是 0,則繼續執行以下命令移除 xxxx.framework
的 Bitcode
。
xcrun bitcode_strip -r xxxx -o xxxx
4.編譯報錯
Sandbox: rsync.samba(96559) deny(1) file-write-unlink xxx
升級Xcode16項目并且引入pod后,編譯報錯。
解決辦法:Build Settings -> 搜索 sandbox -> Build Options -> User Script Sandboxing -> NO