iOS app submission : missing 64-bit support
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:
- 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!
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
- Clean and build your app with the iPhone connected
- Disconnect your iPhone and check the top bar if is in "iOS Device"
- Archive
- Validate and Submit
Tim Autin
Updated on July 09, 2022Comments
-
Tim Autin almost 2 years
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 :
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.
-
Tim Autin over 9 yearsThanks for your answer, but as stated in my question I already tried that, and the project does not compile with this settings :/
-
Nazik over 9 years@Tim, yes me too had
armv7 and arm64
in Architechtures. Still, missing 64-bit support warning occurs while validating the app for submissiion. -
TonyMkenu over 9 years@NAZIK do you have arm64 in both lines (Architectures and Valid Architectures)? I had the same error and this was the solution
-
TonyMkenu over 9 years@Tim try to clean your DerivedData and check your latest external framework or SDK if they have 64 bit support
-
Vaibhav Limbani over 9 yearsHats off! :D you've saved my time
-
Romain over 9 years>not reflected in "Valid Architectures" even if it is shown as Standard This was the point for me. Thx!
-
harry over 9 yearsBig help!! Saved me a lot of time on this one. Good tip for upgrading old apps.
-
Leonel Folmer over 9 years@Timuçin. Sorry for my late reply, you're right is: armv7 armv7s arm64.
-
Dirk over 9 yearsYou really mean 5.1.1? 5.1 isn't recent enough?
-
user1122069 over 9 yearsIt has been a long time. I don't know or remember the logic to this. Just do the steps and something may get back in its proper place. Fiddle with the architectures and all pages mentioned.
-
jxmallett over 9 yearsI believe you can keep your non-64bit devices connected if you change the build setting
Build Active Architecture Only
toNo
. This will force xcode to build the 64bit binary regardless of what device is connected. -
Kirit Vaghela about 9 yearsless than 2% people are using iOS 6 or less. developer.apple.com/support/appstore
-
ZYiOS about 9 yearsShould set release mode to no
-
djburdick about 9 yearsIn case it helps others, I had to change in both Project and Target to get to work
-
KarenAnne about 9 yearsIn addition to @jxmallett 's answer, make sure your Scheme configuration Archive is set to Release, in which the
Build Active Architecture
is set toNo
. Set Archive Scheme -
Dave Chambers almost 9 years@djburdick Thanks. That worked for me when nothing else did.
-
Filipe Borges almost 9 yearsAlso, make sure your device is NOT connected when archiving the final build. See @powertoold answer bellow (stackoverflow.com/a/26848865/1715004)
-
Tejas almost 9 yearsThanks bro..... Its simply great..... Has solved problem that was pending from long time....
-
nwkeeley almost 9 yearsFYI I had to unplug my device, switch to simulator and then switch back to "iOS Device" for this to work.
-
Kevin Qi over 8 yearsI also had to do a
Product -> Clean Build Folder..
step before this worked -
maxweber about 8 yearsYup. only then and only after connecting a device did the actual log of errors show. Then some lines of code which are deprecated and required (red) fixing and some issues with the RSA lib showed up.
-
bisma about 8 yearsAdditionally, unplugging iphones and ipads from the mac has been known to help, especially if they are 32-bit versions. ... Most helpful line for me.