How to ENABLE_BITCODE in Xcode 7?

2020-01-24 03:03发布

问题:

I'm developing with parse.com and I get this problem upgrading to Xcode 7. Some Parse Frameworks are not fully working.

I've got this Warning:

URGENT: all bitcode will be dropped because '/Users/[MY_USER]/Downloads/parse-starter-project-1/ParseStarterProject/Parse.framework/Parse(PFMutableFileState.o)' was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. Note: This will be an error in the future.

Let me remind that everything was working in the last version of Xcode 6.

How to ENABLE Bitcode in Xcode 7?

回答1:

If you are using a third-party framework or library that was updated for iOS 9, and you don't want to include bitcode, then you should check to see if a version of the framework was provided without bitcode. See Apple's note on when to include it in your app bundle:

For iOS apps, bitcode is the default, but optional. For watchOS and tvOS apps, bitcode is required. If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode.

To disable/enable bitcode in your project, follow these steps:

  1. In the project build settings, make sure you have enabled All settings to be visible.
  2. The Build Options are the 4th section down. Select Yes or No for the Enable Bitcode option.



回答2:

That would be something Parse has to do, when enabling bitcode for your app, all apps and frameworks in your bundle need to include bitcode (see here). As you can see, the Parse framework does not use this as of now, which is understandable as this is still in beta and not ready for prime-time yet.



回答3:

This appears to now be an error in Xcode 7 beta 3. If the the Cocoapod you're using wasn't built with ENABLE_BITCODE turned on, you can try disabling it altogether by adding the following to the bottom of your Podfile:

post_install do |installer|

  installer.pods_project.targets.each do |target|
    installer.pods_project.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end

    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

WARNING: From what I've read, you can't submit WatchKit apps without ENABLE_BITCODE turned on, so that is a trade-off until Parse updates their pods.



回答4:

Just Search for bitcode in Build setting and set it to false/NO