我们的iOS应用依赖于目前仅适用于armv6+armv7的商业第三方静态库。出于这个原因,我无法为armv7s构建我们的应用程序。只有armv6+armv7+simulator。
我们的构建是在iPhone-5上部署和运行的,没有问题--它运行armv7代码。
然而,我找不到直接在iPhone5上调试的方法。当我连接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/iPhone5以外的任何设备时都可以很好地构建。
最后我的问题是:在armv7s设备上直接调试armv7代码是可能的吗?如果可能的话,我什么时候在我的构建设置中做错了而破坏了它?
谢谢!
发布于 2014-05-22 23:15:07
简短的回答是:不。我相信你正在尝试做的事情是不可能的!需要为armv7s重建第三方静态库。继续跟踪他们,直到他们更新他们的库。
发布于 2014-05-25 17:34:38
哦,我忘了我发了这个问题…
最终,我能够在所有iOS设备上进行调试,因为问题的根源既不在ARMv7唯一的库中,也不在我的项目/目标设置中。
问题出在我用来创建iOS“框架”目标的iOS Xcode模板中。(iOS Universal framework from Karl Stenerud的旧版本)。
我们的代码库很大,它的许多主要代码块服务于应用程序的MacOS和iOS版本,另外,我们希望将这些主要代码块封装为“SDK”,包括库、头文件、资源和文档。所以-我们一直在使用框架目标。由于iOS没有内部的“框架”目标模板,所以我们使用了第三方模板。
这个模板使用构建脚本,它有一个bug,在某些情况下从构建中省略了平台,因此导致我们的构建错误,并且无法调试。
最后一句话-模板的更新消除了这个问题。
https://stackoverflow.com/questions/16393969
复制相似问题