ld: symbol(s) not found for architecture armv7s error only on 64 bit iPhone

你。 提交于 2019-12-10 14:56:30

问题


I am receiving a ld: symbol(s) not found for architecture armv7s error but only when I run it on the iPhone 64 bit. It works for 32 bit phones with iOS6 and iOS7 and also works on the 64 bit iOS7 simulator. These are the errors I am receiving.

Undefined symbols for architecture armv7s:
"RKMIMETypeJSON", referenced from:
_
_38-[ServiceCalls saveSupportInformation]_block_invoke in ServiceCalls.o
___53-[ServiceCalls saveHealthJournalEntry:healthJournal:]_block_invoke_2 in ServiceCalls.o
___26-[ServiceCalls sendEmail:]_block_invoke in ServiceCalls.o
___59-[ServiceCalls createMailFolder:inParentFolder:forMailbox:]_block_invoke_2 in ServiceCalls.o
"_OBJC_CLASS_$_RKInMemoryManagedObjectCache", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKObjectSerializer", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKManagedObjectStore", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKJSONParserJSONKit", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKParserRegistry", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKObjectPropertyInspector", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKObjectMapping", referenced from:
objc-class-ref in MappingSerializerFactory.o
"_OBJC_CLASS_$_RKObjectMappingOperation", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_METACLASS_$_RKObjectManager", referenced from:
_OBJC_METACLASS_$_RKReflectiveObjectManager in RKReflectiveObjectManager.o
"_OBJC_CLASS_$_RKObjectRelationshipMapping", referenced from:
objc-class-ref in RKReflectiveObjectManager.o
"_OBJC_CLASS_$_RKClient", referenced from:
objc-class-ref in ServiceCalls.o
"_OBJC_CLASS_$_RKManagedObjectMapping", referenced from:
objc-class-ref in RKReflectiveObjectManager.o
"_OBJC_CLASS_$_RKDynamicObjectMapping", referenced from:
objc-class-ref in RKReflectiveObjectManager.o
"_OBJC_CLASS_$_RKObjectManager", referenced from:
objc-class-ref in FMHMobileAppDelegate.o
objc-class-ref in RKReflectiveObjectManager.o
_OBJC_CLASS_$_RKReflectiveObjectManager in RKReflectiveObjectManager.o
objc-class-ref in ServiceCalls.o

I have made sure to import all my .m files in compile sources and imported all the right things under link binary with libraries. I have also checked all the files and they all import files ending with .h. I have also tried deleting everything from Library Search Paths which removes those errors but then gives me a ld: library not found for -lGoogleAnalytics error.

Again, this works on all phones and simulators except for the 64 bit iPhone. It even works on the 64 bit simulator though.

Thanks for any help in advance!

EDIT:

The problem ended up being that RestKit did not support armv7s yet. I changed my valid architectures to only be armv7 and it worked on all devices.

来源:https://stackoverflow.com/questions/19036282/ld-symbols-not-found-for-architecture-armv7s-error-only-on-64-bit-iphone

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!