今天在拿到一個16年的項目來進行維護的時候设易,在打包的時候發(fā)現(xiàn)報錯
error: Invalid bitcode signature
clang: error: linker command failed with exit code 1 (use -v to see invocation)
剛開始懵逼的不行,百度了一番發(fā)現(xiàn)沒解決問題蛹头。
后來仔細看了下錯誤顿肺,發(fā)現(xiàn)這錯誤的造成就是因為bitcode錯誤了。然后結(jié)合項目的時間發(fā)現(xiàn)掘而,很可能是第三方庫再打包.a的時候沒做bitcode = NO 這個操作挟冠,然后就把可以的第三方SDK做了替換,這個問題成功解決掉了袍睡。
所以這個問題的解決方法是看自己項目bitcode選項以及第三方的sdk選項
然后下一步編譯發(fā)現(xiàn)了下一個錯誤
framework not found FileProvider for architecture arm64
也就是
framework not found xxxxx for architecture arm64
這個問題解決發(fā)現(xiàn)很簡單項目用的是xcode8.3運行的知染,而第三方編譯出的.a framewok包是9.0以上的 xocde8 沒有這些framework.
找到xcode9的這個路徑下/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ 缺失的文件導入到xcode8對應(yīng)的地址就ok了
下一個問題
3 duplicate symbols for architecture arm64
這個問題就是告訴你 有文件重復(fù)了。
解決方法