armv7 not included in build
Asked Answered
G

2

6

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.

Gemoets answered 17/12, 2016 at 3:45 Comment(4)
Double check that Build Active Architecture Only is set to NO for Release.Tankersley
@Tankersley champion! Post it as an answer?Gemoets
armv7 and arm7 are not the same thing, why using the arm7 tag?Interdepartmental
@Interdepartmental editedGemoets
T
2

I suspect you are building the active architecture only.

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

Tankersley answered 18/12, 2016 at 14:19 Comment(1)
A great Apple doc can be found here #35624577Seise
D
14

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.

Desireah answered 5/5, 2019 at 17:41 Comment(4)
Thank you, changing target from 12.2 to 9 produces fat library including armv7 in my case.Urita
Nice. The other way around, but for sure a helpful hint for others. Thanks for commenting.Desireah
Thank you very much! This should be the correct answer.Scan
It is exactly my situation. ThanksVaria
T
2

I suspect you are building the active architecture only.

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

Tankersley answered 18/12, 2016 at 14:19 Comment(1)
A great Apple doc can be found here #35624577Seise

© 2022 - 2024 — McMap. All rights reserved.