问题
I'm using Xcode 9.0.
My pod file:
pod 'Alamofire', '~> 4.3'
pod 'SwiftyJSON'
pod 'AlamofireSwiftyJSON'
pod 'KSToastView', '0.5.7'
pod 'SDWebImage', '~> 4.0'
pod 'NVActivityIndicatorView'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
pod 'CarbonKit'
pod 'SBPickerSelector'
pod 'SwiftyStoreKit'
pod 'Fabric'
pod 'Crashlytics'
pod 'SAMKeychain', '1.5.2'
My error log:
ld: could not reparse object file in bitcode bundle: 'Invalid bitcode version (Producer: '902.0.39.2_0' Reader: '900.0.37_0')', using libLTO version 'LLVM version 9.0.0, (clang-900.0.37)' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
I read many articles for this issue but I'm not able to solve it. I referred to this, and yes, this takes note that I want to build archive my project with
configuration = Debug
ENABLE_BITCODE = YES
configuration = Release
ENABLE_BITCODE = YES
completeSettings = some
ENABLE_BITCODE = YES
Any suggestions?
回答1:
Steps to solve this issue:
- Build Setting
- Search Enable Bitcode option in Build Options category.
- Select no.
回答2:
This is because you have some dependencies in your project (frameworks) that is built with a newer version of Xcode.
You have to update your Xcode version, or disable bit code in your project (Project > Build Settings > Enable Bitcode = NO)
回答3:
This could also happen if you have two different Xcode versions installed side by side and then building with one that points to wrong command line tools. I experienced this problem after installing Xcode 10.1 next to (updated) Xcode 10.2. My Xcode 10.1 was pointing to Xcode 10.2 command line tools, so linking failed with invalid bitcode version, same as in your case. The fix was:
Change Command Line Tools in Xcode Preferences -> Locations -> Command Line Tools:
Clean build folder and hit Archive.
The above is also valid for other Xcode versions.
回答4:
As Rivera said, some libraries you use expect Xcode 10 (probably Firebase). So the workaround is to downgrade versions of your libraries. For me those versions works well with Xcode 9 and bitcode enabled option:
pod 'Firebase/Core', '~> 4.13.0'
pod 'Fabric', '~> 1.7.0'
pod 'Crashlytics', '~> 3.9.0'
Probably you should also investigate which old version of Firebase/Messaging to use.
BTW, that is one of the reasons why developers should avoid using pods without specifying the specific version (which will lead to always download the latest versions of pods). It also may lead to version incompotability with your code which is using pod features.
回答5:
Some libraries you use expect Xcode 10 (probably Firebase). Use Xcode 10.
来源:https://stackoverflow.com/questions/52232100/invalid-bitcode-version-producer-902-0-39-2-0-reader-900-0-37-0