4

I have just installed new Xcode 7 and the project which which I was developing already in Xcode 6.4 tried to run and found this error.

ld:'/Users/aliasadullah/Dropbox/DetectPhoneCall 2/DetectPhoneCall/parse.framework/parse(PFAnalytics.o)' does not contain 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. for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Asadullah Ali
  • 1,056
  • 14
  • 31

3 Answers3

14

Just select your target Build Settings and change the Enable Bitcode option to No.

enter image description here

Dheeraj Singh
  • 5,143
  • 25
  • 33
3

I was going to post this as a comment, but I am surprised that people are just posting workarounds or explanation of what Bitcode is without addressing the question. Hence I am posting it as an answer.

Bitcode is something that the SDK provider needs to enable in the SDK itself. Until that happens, you will not be able to do a build with the Enable Bitcode flag in the Build Settings of Xcode set to Yes. Your best option is to check if the latest version of Parse SDK is updated to support Bitcode. You can either check the release notes, or brute force check by using the new SDK in your project and then try to compile it, or contact the library provider directly to check if Bitcode is enabled in a particular version. If all these result negative, then you will have to disable bitcode for the time-being. You can do this by: Build Settings > Enable Bitcode > No.

rgamber
  • 5,749
  • 10
  • 55
  • 99
1

From the official documentation:

Bitcode (iOS, watchOS)

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 need to include bitcode. For watchOS apps, bitcode is required.

https://developer.apple.com/library/prerelease/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html#//apple_ref/doc/uid/TP40012582-CH35-SW2

ifeegoo
  • 7,054
  • 3
  • 33
  • 38