Xcode 7 + Dropbox Core API: Simply disable Bitcode?
It seems that they have not released a bitcode supported API. Here is the link to the thread on the official Dropbox forums which includes a support person from Dropbox replying to other developers questions in this context.
Here is the relevant response from the Dropbox support person:
Oh, great! We haven't released an update to the iOS Core SDK with bitcode, but if you need bitcode support for the Core SDK, you can add the source directly, since it's open source. There's a thread about this for the Core SDK here: https://www.dropboxforum.com/hc/en-us/community/posts/204352929-Need-Bitcode-Framework
Since I asked this question I simply set the option Enable Bitcode
to No
in the targets Build Settings
while using Yes
in the Widget and Apple Watch targets. That worked just fine and I did not notice any problems or limitations.
Now I tried to release a new version of my app to the App Store and I noticed a check box Include Bitcode
when uploading the app file to Apple. When this check box is enabled I receive the following error:
Invalid Match-O Format. The Match-O bundle "MyApp.app/PlugIns/MyApp WatchKit Extension.appex" isn't consistent with the Match-O in the main bundle.
The main bundle Match-O contains armv7(machine code) and arm64(machine code), while the nested bundle Match-O contains armv7(bitcode and machine code) and arm64(bitcode and machine code).
Varify that all of the targets for a platform have a consistent value for the ENABLE_BITCODE build setting.
I have no idea why this is a problem now while all other version I uploaded during the last year passed without any problem. However the problem can easily be solved by un-checking the Include Bitcode
check box. The upload is then accepted without any problem.
But there is a better solution: As Greg pointed out, Dropbox finally released a Bitcode enabled version of the SDK!
Download the new SDK 1.3.14, include it in your project and set ENABLE_BITCODE
to Yes
for all targets, and you are done. At least until Apple finds a new way to disturb your release workflow :-)