我正在使用新的xcode4修补从iOS 4.2到4.3的应用程序。 除了将iOS设置为4.3之外,没有进行任何更改,我创建了权利并且去了!
我收到的消息是:
Undefined symbols for architecture armv6:"function", referenced from:
我试图清理项目,重新安装xcode。 我也卸载了xcode4演示版。 我也尝试设置优化armv7。
我会很高兴得到一些帮助,我被困住了。真。
非常感谢!
答案 0 :(得分:12)
以下是我遇到此问题的方法:
我通过将它们拖到我的项目导航器中,从另一个项目中添加了.h
,.m
和NIB。 Xcode没有正确地将它们添加到Build Phases中。
我解决此问题的方法:
.m
文件添加到“编译源”(将其拖过,或使用+按钮).xib
或Storyboard文件添加到“复制捆绑资源”答案 1 :(得分:10)
对于这种类型的错误,我通常会看到这一点:
Undefined symbols for architecture armv6:
"_OBJC_CLASS_$_MyCustomController", referenced from:
objc-class-ref in SomeOtherController.o
ld: symbol(s) not found for architecture armv6
几乎每次我看到此错误都是由SomeOtherController.h
或SomeOtherController.m
中的import语句中的隐藏/不可见字符引起的。因此,查看.h和.m文件,找到如下所示的行:
#import "MyCustomController.h"
删除此行并重新输入(不要复制/粘贴它 - 您只需重新填写有问题的隐藏字符)。
答案 2 :(得分:8)
在导航窗口中单击您的项目名称,选择您要构建的目标,转到构建阶段,确保Xcode告诉您缺少该目标。
答案 3 :(得分:1)
我在使用TestFlight SDK的iOS7 Xcode5中遇到了同样的问题。我的问题是'仅限构建活动架构'设置为仅调试。
您可以在'YourProject' - &gt;'构建设置' - &gt;'架构'下找到设置<释放'选项为'是'。
这解决了我的问题 - 我希望它也能帮到你! :)
答案 4 :(得分:0)
我有这个问题,我刚解决了。 这是函数名称中的一个简单错字(忘了一个字母),导致了我的问题。
答案 5 :(得分:0)
我在使用TestFlight SDK的iOS7 Xcode5中遇到了同样的问题。我的问题是'仅限构建活动架构'设置为仅调试。
您可以在“YourProject”下找到设置 - &gt;“构建设置” - &gt;'架构'将'调试'选项设置为'architecure arm7 arms7s'。
这解决了我的问题 - 我希望它也能帮到你! :)
答案 6 :(得分:0)
我突然出现了类似的问题 - 更具体地说,我得到了Undefined symbols for architecture armv6: "_OBJC_CLASS_$_CLLocationManager", referenced from: objc-class-ref in MyCLController.o
请注意,我的框架中列出了CoreLocation.framework(在xcode'Project left nav中,在Frameworks文件夹下);之前的地理定位工作得很好。
我通过重新安装CoreLocation.framework解决了这个问题。
如果您不确定如何在xcode中执行此操作:
*点击xcode左侧导航栏中的项目
*进入项目设置的常规选项卡
*向下导航 - 您将看到Linked Frameworks and Libraries
下安装的框架列表
*单击+
图标以添加CoreLocation.framework
答案 7 :(得分:0)
在我的情况下,我在viewcontroller.m
中这样做#import <MediaPlayer/MediaPlayer.h>
没有使用MediaPlayer.framework进行链接二进制文件库。添加后,它编译好