IOS 6中的引用错误

IOS 6中的引用错误

问题描述:

我最近更新到IOS 6.我有一个项目,它适用于iOS 4.3,现在当我尝试为设备构建时,它显示出很多引用错误。IOS 6中的引用错误

ld: symbol(s) not found for architecture armv7s 

其实我不知道所有的源代码,我一直在使用.A也对一些课程,该课程.A也是我要求和Xcode 4.5.1内置(用于设备),并试图与此,仍然没有用。如果我使用模拟器,它工作正常,因为设备出现问题。 我已经搜索了任何解决方案,发现有一些没有帮助我的问题。 任何人在更新到iOS 6后都会遇到这种情况。如何摆脱它。

等待你的帮助。谢谢。

+0

在这里搜索'armv7s symbols',您会发现很多关于此主题的现有问题。 – rmaddy

+0

这是因为这些.a文件不是为armv7架构而构建的。您需要通过指向iOS设备而不是模拟器来构建armv7。用这个替换项目中的.a文件,然后重试。 – iDev

+0

@ACB我已经问了两次检查,他们说它只用Xcode 4.5构建,为了构建armv7我们需要在Xcode中做任何事情吗? – Newbee

对于快速解决方案,您可以在每个项目配置(调试,发布和部署)以及目标的生成设置中检查Build Active Architecture Only。这将允许您构建项目。

注意这只是一个暂时的solution.You确已更新您正在使用,以支持armv7s(架构的iPhone5)最新版本的库或框架。

+0

雅现在成功了。你能告诉我,发生了什么? – Newbee

+0

如果我继续这样,有什么问题吗? – Newbee

+0

'.a'文件是一个库文件。这是预编译的代码。 armv7s架构在iPhone5中引入。所以当编译库时,创建者不会在库项目的有效体系结构中添加这样的体系结构(当时体系结构不存在)。在支持iOS6的新Xcode中,当我们用这个库编译我们的源代码时,这些xcode在库中也需要armv7s符号。但它不在那里。这就是为什么它显示错误。通过检查'Build Active Architecture Only',我们告诉编译器,只建立可用的架构。 –