我继承了一个使用RestKit版本0.9的iOS项目。我尝试构建链接时出现链接错误,如下所示:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_RKManagedObjectStore", referenced from:
objc-class-ref in MySettings.o
"_RKMIMETypeJSON", referenced from:
-[TrackerViewController btnAdd:] in TrackerViewController.o
-[MainViewController request:didLoadResponse:] in MainViewController.o
-[MainViewController uploadUnscored] in MainViewController.o
-[MyListController btnUpload] in MyListController.o
-[MyListController getList:] in MyListController.o
-[MyListController btnFood] in MyListController.o
"_OBJC_CLASS_$_RKObjectManager", referenced from:
objc-class-ref in MySettings.o
"_OBJC_CLASS_$_RKRequestSerialization", referenced from:
objc-class-ref in TrackerViewController.o
objc-class-ref in MainViewController.o
objc-class-ref in MyListController.o
"_OBJC_CLASS_$_RKParserRegistry", referenced from:
objc-class-ref in TrackerViewController.o
objc-class-ref in MainViewController.o
objc-class-ref in NyListController.o
"_OBJC_CLASS_$_RKClient", referenced from:
objc-class-ref in TrackerViewController.o
objc-class-ref in MainViewController.o
objc-class-ref in MyListController.o
(etc.)
我正在使用Xcode 6.1.1。我通过从FileManager拖入到应用程序项目来连接Restcode项目 - 原始代码被存档而没有到RestKit的链接(即它显示为红色)。
有一些关于此的帖子,但我还没有能够找到正确的解决方案。例如,一个解决方案(ld: symbol(s) not found for architecture armv7s error only on 64 bit iPhone)建议将架构更改为armv7,但它并不起作用。另一个例子建议"然后修改依赖库,使它也有armv7作为目标",但它已经是一个目标。另一个答案表明"将RestKit项目的Base SDK更改为Lastest iOS,并重新添加所有必要的Frameworks。",但它已经设置为最新的iOS。
Restkit项目中的有效体系结构确实指定了armv6,armv7和armv7s,但由于错误是关于amrv7,我不认为这是问题所在。我还设置了#34;仅构建活动架构"到" no",但又一次收到同样的错误。
任何想法都非常感激。
答案 0 :(得分:0)
一周后我回到了这里,并得到了解决。它可能是三件事之一:
1)我尽可能仔细地遵循发行版附带的README.md说明。 2)该项目有3个目标,它们都必须与RestKit相关联。