3

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:

Community
  • 1
  • 1
setzuiro
  • 427
  • 5
  • 13
  • 2
    First off, I recommend updating your Xcode to the very latest version. – Almo Apr 15 '15 at 15:58
  • 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 Apr 15 '15 at 16:11
  • @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] (http://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 Apr 15 '15 at 19:34
  • **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 Apr 15 '15 at 20:08
  • Third-party libraries will make it impossible for you to submit if they are 32-bit. :( – Almo Apr 15 '15 at 20:52
  • Check if the third party libraries have been updated. If they're still in use, then hopefully they're maintained and have been updated for 64-bit. – Jeremiah Jessel Apr 15 '15 at 21:33
  • Deployment target 6.0? Everything from iPad 2 and iPhone 4 upwards supports 7.1, so I'd never release anything with target 6.0 anymore, and absolutely not for 5.1. That's just asking for trouble. The problem is likely that no 64 bit version is built because no 64 bit version can run on 6.0. – gnasher729 Jun 26 '15 at 16:17

2 Answers2

1

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

Sreeraj VR
  • 1,524
  • 19
  • 35
0

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.

Community
  • 1
  • 1
setzuiro
  • 427
  • 5
  • 13