iOS app submission : missing 64-bit support

I sent an app yesterday for review, with no problem. I then realized that I had a very little fix to do (changing the max zoom level of a map from 19 to 18, nothing else), so I removed the binary from iTunes Connect, and tried to resubmit.

Now I'm having this warning :

warning_xcode

I don't understand why, as my architectures are :

  • architectures : armv7
  • valid architectures : armv6, armv7, armv7s, arm64

The app runs fine in the simulator. If I try to use the standard architectures (armv7, arm64) as recommended in the warning, then the app won't build and I get :

  • Undefined symbols for architecture x86_64
  • ld: symbol(s) not found for architecture x86_64

I'm using the lib route-me, and I set the same architecture settings.


Solution 1:

Use "Standard architectures" like this:

  • Architecture: "Standard architectures" arm7, arm64
  • Valid Architectures: "arm64" , armv7...
  • Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)

like this:

enter image description here

  • Additionally, unplugging iphones and ipads from the mac has been known to help, especially if they are 32-bit versions.

Solution 2:

After confirming the correct architectures, make sure your device is NOT connected to your computer when ARCHIVING the final build to submit to the App Store.

The reason this warning appears is because the DEVICE you have connected is probably not arm64 compatible.

Solution 3:

As Tony wrote, it's important to have in both lines those settings. Since my (and obviously your) project was created yet before arm64 was added to standard, it is not reflected in "Valid Architectures" even if it is shown as Standard.

What I did:

  • I went to Project (vs. Target) configuration
  • Typed "arm64" in the Valid Architectures (it's automatically reflected in targets and schemas

After clean/build I even get some warnings about improper conversion of float to CGFloat, etc., so the settings obviously applied.

The validation warning disappeared too!

enter image description here

Solution 4:

Unplug your physical device from Mac. In XCode on device list choose iOS Device and create Archive again. It worked for me.

Solution 5:

Today I solve that problem with the following steps:

Building Settings:

Architectures: Standard architectures(arm7,arm64) - $(ARCH_STANDARD)

Valid Architectures: armv7 armv7s arm64

  1. Clean and build your app with the iPhone connected
  2. Disconnect your iPhone and check the top bar if is in "iOS Device"
  3. Archive
  4. Validate and Submit