本文介绍了VALID_ARCHS = arm64 armv7 armv7s不生成任何armv7s的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对iOS上的编译有疑问.我正在生成一个框架,它用来生成arm64,armv7和armv7s(+具有lipo和fun的模拟器).

I'm having a question about the compilation on iOS. I'm generating a framework and it used to generate arm64, armv7 and armv7s (+ simulators with lipo and fun).

问题是,二进制文件中不再存在armv7s.

The thing is, armv7s is not present in the binary anymore.

胖文件中的体系结构是:i386 x86_64 armv7 arm64

Architectures in the fat file are: i386 x86_64 armv7 arm64

但是我清楚地在我的XCConfig中要求VALID_ARCHS = arm64 armv7 armv7s.我确认XCConfig确实已使用并且未被覆盖.

But I clearly asks in my XCConfig for VALID_ARCHS = arm64 armv7 armv7s. I verified that the XCConfig was indeed used and not overridden.

我尝试了各种Google搜索,但是大多数时候我们发现人们不理解为什么他们的应用程序未使用错误版本的lib进行编译.

I tried various google search but most of the time we find people not understanding why their app is not compiling with the wrong version of the lib.

现在,我要来这里,这是最后一次了解为什么没有为我的框架创建armv7s lib的机会.也许就像不可能了"一样简单.

So now, I'm coming here, the last chance to understand why no armv7s lib is being created for my framework. Maybe it's as simple as "it's not possible anymore".

推荐答案

自从XCode 6以来,XCode放弃了对armv7s的支持,我认为${ARCHS_STANDARD}现在仅包含armv7, arm64,而模拟器将包含i386, x86_64,因此您的胖静态库/框架只会包含它们.

XCode has dropped support for armv7s since XCode 6 I think, the ${ARCHS_STANDARD} now only include armv7, arm64 and simulator will include i386, x86_64, so your fat static library/framework will only include them.

要支持armv7s,请在Architectures字段的${ARCHS_STANDARD}下添加它,然后重新构建.

To support armv7s, add it under ${ARCHS_STANDARD} in Architectures field and build again.

这篇关于VALID_ARCHS = arm64 armv7 armv7s不生成任何armv7s的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-14 12:51