我收到一个 ld: symbol(s) not found for architecture armv7s 错误,但仅当我在 iPhone 64 位上运行它时。它适用于装有 iOS6 和 iOS7 的 32 位手机,也适用于 64 位 iOS7 模拟器。这些是我收到的错误。
架构 armv7s 的未定义符号:
“ RKMIMETypeJSON”,引用自: ServiceCalls.o 中的
_ _38-[ServiceCalls saveSupportInformation]_block_invoke
___53-ServiceCalls.o 中的[ServiceCalls saveHealthJournalEntry:healthJournal:]_block_invoke_2
___26-[ServiceCalls sendEmail:]_block_invoke。 o
___59-[ServiceCalls createMailFolder:inParentFolder:forMailbox:]_block_invoke_2 in ServiceCalls.o
"_OBJC_CLASS_$_RKInMemoryManagedObjectCache",引用自:
ServiceCalls.o "_OBJC_CLASS_$_RKObjectSerializer" 中的 objc-class-ref
,引用自:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKManagedObjectStore",参考自:
ServiceCalls.o
"_OBJC_CLASS_$_RKJSONParserJSONKit" 中的 objc-class-ref,引用自:
ServiceCalls.o "_OBJC_CLASS_$_RKParserRegistry" 中的 objc-class-ref,引用自:ServiceCalls.o
"
_OBJC_CLASS_$_RKObjectPropertyInspector" 中的
objc-class-ref
,引用自:
ServiceCalls.o 中的 objc-class-ref
"_OBJC_CLASS_$_RKObjectMapping",引用自:
MappingSerializerFactory.o 中的objc-class-ref
"_OBJC_CLASS_$_RKObjectMappingOperation",引用自:
ServiceCalls.o 中的objc-class-ref
" _OBJC_METACLASS_$_RKObjectManager”,引用自:
RKReflectiveObjectManager.o 中的_OBJC_METACLASS_$_RKReflectiveObjectManager
“_OBJC_CLASS_$_RKObjectRelationshipMapping”,引用自:
RKReflectiveObjectManager.o 中的 objc-class-ref
“_OBJC_CLASS_$_RKClient”,引用自:
ServiceCalls.o 中的 objc-class-ref
“_OBJC_CLASS_$_RKManagedObjectMapping”,引用自:
objc-class-ref在 RKReflectiveObjectManager.o
"_OBJC_CLASS_$_RKDynamicObjectMapping" 中,引用自:
RKReflectiveObjectManager.o 中的 objc-class-ref
"_OBJC_CLASS_$_RKObjectManager",引用自:
FMHMobileAppDelegate.o 中的 objc-class-ref RKReflectiveObjectManager.o 中的
objc-class-ref
_OBJC_CLASS_ RKReflectiveObjectManager.o 中的 $_RKReflectiveObjectManager
ServiceCalls.o 中的 objc-class-ref
我确保在编译源中导入我所有的 .m 文件,并在链接二进制文件下导入所有正确的东西与库。我还检查了所有文件,它们都导入了以 .h 结尾的文件。我还尝试从 Library Search Paths 中删除所有内容,以消除这些错误,但随后给了我一个 ld: library not found for -lGoogleAnalytics 错误。
同样,这适用于除 64 位 iPhone 之外的所有手机和模拟器。它甚至可以在 64 位模拟器上运行。
提前感谢您的帮助!
编辑:
问题最终是 RestKit 还不支持 armv7s。我将我的有效架构更改为仅 armv7 并且它适用于所有设备。