armv7 not included in build

7.8k views Asked by At

Both my Target and Project Build Settings are set to arm64 armv7 armv7s as the valid architectures.

  • Architectures: Standard architectures (armv7, arm64) - $
  • Valid Architectures: arm64 armv7 armv7s

When I archive and upload the build, iTunes Connect classifies it as only arm64. Under "Supported Architectures", iTunes Connect shows only arm64. This makes it so my app is not available to older devices (iPhone 5, iPad 2, iPad Mini 1, etc)

Has anybody ever come across this before? I'm supporting armv7 in Xcode settings, but that support is not being included in the build I am archiving.

2

There are 2 answers

1
shallowThought On BEST ANSWER

I suspect you are building the active architecture only.

To fix this set Build Active Architecture Only to NO for Release configuration.

4
decades On

Even though this topic already has it's accepted answer, this one is not true in any case.

There can be situations, in which your app has all the known architectures as valid architectures, has Build Active Architecture Only to NO for Release and still getting this issue.

The reason is: If your deployment target is iOS >= 11, then this will run on devices starting with iPhone 5s only. iPhone 5s is the first arm64 device. Hence XCode (at least in version 10) does NOT include anything else than arm64, even though you have all the settings made as suggested.

Usually this is not a problem, but it can lead to the "Too many symbols" issue, if you are using Pods, which come with binaries for architectures < arm64. Those will have symbols for armv7, even though your upload does not have a binary for armv7.

So it is suggested to fight this by altering the PodFile and include only symbols for arm64.