我们的iOS应用程序依赖于目前仅适用于armv6 + armv7的商用第三方静态库。基于这个原因,我无法构建我们的armv7s应用程序。只有armv6 + armv7 +模拟器。我可以直接在仅为armv6和armv7构建的iPhone-5(armv7s)iOS应用程序上进行调试吗?
我们的构建被部署并在iPhone-5上运行,没有问题 - 它运行armv7代码。
不过,我不能找到一种方法。当我连接iPhone-5在iPhone 5直接调试,并尝试建立调试,我得到的链接错误是这样的:
"No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=armv7s, VALID_ARCHS=armv7)."
起初,我认为也许我的“Build only active architecture”设置用于调试配置,导致Xcode在iPhone-5(armv7s)连接时不尝试为armv7构建。但是,当我将它设置为“NO”(让Xcode为所有支持的架构始终构建)时,我会遇到一大堆构建错误(摘录如下 - 我们有很多目标,每个都会发出类似的错误) 。
=== BUILD NATIVE TARGET ASPCommon OF PROJECT ASPCommon WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv7).
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Command /bin/sh failed with exit code 65
该目标没有依赖性,它只对构建的iOS SDK框架,并且比iPad的4/iPhone 5的其他任何装置被连接时建立精细。
最后我的问题:是否有可能在armv7s设备上直接调试armv7代码?如果有可能,当我在构建设置中做错了什么来打破这个?
谢谢!
嗨,我忘了我发布了这个问题...我自己的回答是 - 是的。有可能的。问题不在于库或我的代码中,而是在我用来创建iOS“Framework”目标的iOS Xcode模板中。 – 2014-05-25 09:21:32