Tim Autin
Tim Autin

Reputation: 6165

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 :

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 :

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

Upvotes: 91

Views: 72352

Answers (12)

PRITAM SATPUTE
PRITAM SATPUTE

Reputation: 111

Please check Build Active Architecture option. Set it to NO. It works for me.

Upvotes: 0

TonyMkenu
TonyMkenu

Reputation: 7667

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.

Upvotes: 106

prad
prad

Reputation: 1156

Okay this was insane. I tried every single answer. But it worked only when I placed arm64 before armv7 and armv7s in Valid Architectures.

P.S. : xcode version : 7.2

Upvotes: 2

Mountain Man
Mountain Man

Reputation: 242

Got rid of every warning. Went through everything over and over. Found the one word answer here above.

"Build Active Architecture Only - NO (specially... if your connected device is not arm64 compatible)"

My iPad is not 64 bit. Put in NO for Build Active Architecture and my submission worked!

Upvotes: 1

Kirit  Vaghela
Kirit Vaghela

Reputation: 12674

Just Create a New Project using latest xCode version and find the Build settings. The new project created using latest version have 64 support by default.

enter image description here

Upvotes: 3

Bkillnest
Bkillnest

Reputation: 722

I submitted success by config as the image: enter image description here

(Archived with real device)

Upvotes: 1

user3616535
user3616535

Reputation: 119

I solved the problem by changing,

Architectures: arm7,arm64

Valid architecture: arm7,arm64

Build active architecture only : Yes

Upvotes: 1

Leonel Folmer
Leonel Folmer

Reputation: 211

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

Upvotes: 5

hrast
hrast

Reputation: 333

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

Upvotes: 27

user1122069
user1122069

Reputation: 1817

Change your iOS development target to at least 5.1.1 or alternatively delete the standard architectures setting and re-apply it. You might have seen a warning that arm64 is not compatible with your build target. On the overview page, check both the build and target "deployment target" settings. In my case, the target was 6.0, but the project was 5.0.

Also, check "Valid Architectures" in both your target and your project. I had the right settings on the project but not on the target. After this, it worked for me.

Switch between project/target on the overview page in the top left corner of the box.

Upvotes: 0

powertoold
powertoold

Reputation: 1703

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.

Upvotes: 68

Nick Entin
Nick Entin

Reputation: 1087

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

Upvotes: 37

Related Questions