3
votes

My first question on stackoverflow and new to iOS development, figuring things as I go. I have checked similar questions already, see links at bottom.

Task: I am continuing work on a project for a client to make an iOS app update both 32-bit and 64-bit support compatible.

Archive validation gives me:

iTunes Store operation failed.
Missing 64-bit support. Starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later. To enable 64-bit in your project, we recommend using the default Xcode build setting of "Standard architectures" to build a single binary with both 32-bit and 64-...

Problem: I can't seem to get my project/build to support both 32-bit and 64-bit binaries (let alone 64-bit by itself). I have followed Apple's (and other stackoverflow answers') suggestions with the following settings:

OS X 10.9.5
XCode 6.1
Architectures: Standard architectures(armv7,arm64) - $(ARCH_STANDARD)
Build Active Architecture Only: No (tried 'yes' to debug only and 'yes' to all)
Valid Architectures: armv7 armv7s arm64
iOS Deployment Target: 5.1.1 (also tried 6.0)

Methods attempted (tried deleting DerivedData as well):

a) clean -> build -> archive -> validate
b) connect device -> clean -> build -> disconnect device -> archive -> validate

When I check in the binary (following stackoverflow: ios 64-bit compatibility) I only get armv7 in the dwarfdump (which if I understand correctly is only 32-bit but should also have arm64 with the above settings).

File: MyApp.app/MyApp (armv7)

I have attempted many related solutions related to the problem from other other sources(lost track of other references) but no success.

Any help would be greatly appreciated, thanks!

References:

2
First off, I recommend updating your Xcode to the very latest version. - Almo
I agree with Almo, update to Xcode 6.3. Also, are you using any third party libraries that are not compatible with 64-bit? - Jeremiah Jessel
@Almo so after updating to OS X Yosemite (10.10.3) and XCode 6.3 with Base SDK: Latest iOS (iOS 8.3), the validation error for missing 64-bit support seems to have went away, which would imply it should be both 32-bit and 64-bit compatible. However when I perform dwarfdump check for the arm64 chunk (following [link] (stackoverflow.com/questions/27543795/ios-64-bit-compatibility)), I still only see armv7. If I'm understanding correctly, I should end up with both arm64 and armv7 in my binary. Would this a problem? - setzuiro
UPDATE Validation; no problem. Submission to the app store triggers "ERROR ITMS-90086: "Missing 64-bit support. etc...". (App is still uploaded to iTunes Connect since it's an update not a new app.) @JeremiahJessel It looks like several third party libraries are used but I would be unsure how to actually check if they are compatible with 64-bit or not. The app was developed by another firm and modified by a past co-worker. - setzuiro
Third-party libraries will make it impossible for you to submit if they are 32-bit. :( - Almo

2 Answers

1
votes

You can manually add 64- bit (arm64) support like this:enter image description here

0
votes

Closing this question and to answer it for anyone else that wasn't aware or are new to iOS development (like me in both cases).

As @Almo and @Jeremiah Jessel mentioned in the comments regarding third-party libraries; I had looked into them and some of them were indeed built as 32-bit binary and were unfortunately, no longer maintained to have 64-bit support.

In my case, the problem was definitely the 32-bit libraries. I had some assistance and was able to update the libraries for 64-bit.