我对iOS上的编译有疑问。我正在生成一个框架,它用来生成arm64,armv7和armv7s(+具有lipo和fun的模拟器)。
问题是,二进制文件中不再存在armv7s。
胖文件中的体系结构是:i386 x86_64 armv7 arm64
但是我清楚地在我的XCConfig中要求VALID_ARCHS = arm64 armv7 armv7s。我确认XCConfig确实已使用并且未被覆盖。
我尝试了各种Google搜索,但是大多数时候我们发现人们不理解为什么他们的应用程序未使用错误版本的lib进行编译。
现在,我要来这里,这是最后一次了解为什么没有为我的框架创建armv7s lib的机会。也许就像“不可能了”一样简单。
答案 0 :(得分:1)
自从我认为XCode 6以来,XCode放弃了对armv7s
的支持,${ARCHS_STANDARD}
现在仅包含armv7, arm64
,而模拟器将包含i386, x86_64
,因此您的静态库/框架很胖将只包括它们。
要支持armv7s
,请在${ARCHS_STANDARD}
字段的Architectures
下添加它,然后重新构建。