2013-05-06 44 views
4

我们的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代码?如果有可能,当我在构建设置中做错了什么来打破这个?

谢谢!

回答

0

简答:不,我相信你试图做的事情是不可能的!需要为armv7s重建第三方静态库。继续猎取他们,直到他们更新他们的图书馆。

+0

嗨,我忘了我发布了这个问题...我自己的回答是 - 是的。有可能的。问题不在于库或我的代码中,而是在我用来创建iOS“Framework”目标的iOS Xcode模板中。 – 2014-05-25 09:21:32

0

哦,我忘了我张贴了这个问题...

最终我能够调试运行在所有iOS设备,因为问题的根源既不在仅可用于ARMv7-库,或我的项目/目标设置。

问题出在我用来创建iOS“框架”目标的iOS Xcode模板中。 (旧版本iOS Universal framework from Karl Stenerud)。

我们的代码库很大,其中的许多主要模块都提供MacOS和iOS版本的应用程序,另外我们还想将这些主要块封装为“SDK”,包括库,头文件,资源和文档。所以---我们一直在使用Framework目标。由于iOS没有内部“框架”目标模板 - 我们使用了第三方模板。

此模板用户构建脚本存在缺陷,在特定情况下从构建中省略了平台,从而导致构建错误以及无法调试。

最后一个字---模板的更新删除了问题。

相关问题