5
votes

I'm creating a static library in iOS. When I check for architecture of library using the command

lipo -info {LibraryName}.a

I'm getting only arm64 as the architecture for library. I also need armv7 to be included for this library so that I can integrate it with another app and archive it.

In the Architectures I've selected Standard architectures

(armv7, arm64) - $(ARCHS_STANDARD)

And for Valid architectures I've arm64 armv7 armv7s

please help me.

3
Surely you mean for valid architectures you have arm64,armv7,armv7s? Not in a single word? (Edit: I checked and Xcode displays them with a space separator, and when you click Xcode shows each on a single line)Clafou
@Clafou They are added separately, I'm just trying to show the visual aspect of my Xcode because currently I'm not allowed to post a pictureJohn H
OK -- just looks odd, as Xcode shows them space-separatedClafou
@Clafou Yes, they are space separated. Sorry for the confusionJohn H
Found the answer ?Shivansh Jagga

3 Answers

1
votes

Make sure that Build Active Architecture Only is set to No. (This is under Build Settings in the Architectures group).

I had a similar problem and this seems to fix it.

(Now I just need to understand why armv7s is no longer included and if it matters...)

1
votes

Also check your iOS deployment target. If it's 12.1 for example it won't include armv7.

0
votes

In addition to making sure Build Active Architectures Only is set to No, check the format of Valid Architectures. I have accidentally typed armv7, arm64 – notice the comma – on multiple occasions now, and it does not give you an error or warning. It simply builds arm64 by default. Correct it by removing the comma, like this: armv7 arm64.