问题
I'm trying to understand what are the implications of disabling bitcode for a project. As far as I understand Apple intends to use it for some behind the scene optimizations for future API changes. However, a lot of the frameworks/Cocoapods that I'm using don't use bitcode, so I had to disable it. Should I try to resolve the issue rather than just disabling bitcode? What are the advantages of shipping a binary with bitcode enabled?
What are the implications of disabling bitcode for a project with cocoapods or other 3rd party libraries?
回答1:
Mainly Apple will not optimise it in future automatically if you have disabled it. Read below details of Apple docs.
Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Apple to re-optimize your app binary in the future without the need to submit a new version of your app to the store.
Xcode hides symbols generated during build time by default, so they are not readable by Apple. Only if you choose to include symbols when uploading your app to iTunes Connect would the symbols be sent to Apple. You must include symbols to receive crash reports from Apple.
Note: For iOS apps, bitcode is the default, but optional. If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode. For watchOS and tvOS apps, bitcode is required.
来源:https://stackoverflow.com/questions/32830014/xcode-7-what-happens-when-i-disable-bitcode-for-a-project