In my Xcode 5 project I use RestKit for REST communication. Everything works fine with the simulators, but generating the ipa file, I get the following error:
ld: warning: ignoring file /Users/joseph/Library/Developer/Xcode/DerivedData/XXXXXXXXXX-gdwdekevxtdfivfpsnmyykeqhulk/Build/Products/Debug-iphoneos/libRestKit.a, missing required architecture arm64 in file /Users/joseph/Library/Developer/Xcode/DerivedData/XXXXXXXXXXXXX-gdwdekevxtdfivfpsnmyykeqhulk/Build/Products/Debug-iphoneos/libRestKit.a (2 slices)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_RKRelationshipMapping", referenced from:
objc-class-ref in classname-xxx.o
"_OBJC_CLASS_$_RKObjectMapping", referenced from:
objc-class-ref in classname-xxx.o
"_OBJC_CLASS_$_RKRequestDescriptor", referenced from:
objc-class-ref in classname-xxx.o
"_OBJC_CLASS_$_RKObjectManager", referenced from:
objc-class-ref in classname-xxx.o
"_OBJC_CLASS_$_RKResponseDescriptor", referenced from:
objc-class-ref in classname-xxx.o
"_RKStatusCodeIndexSetForClass", referenced from:
-[classname-xxx classname-Method] in classname-xxx.o
-[classname-xxx classname-Method] in classname-xxx.o
-[classname-xxx classname-Method] in classname-xxx.o
-[classname-xxx classname-Method] in classname-xxx.o
-[classname-xxx classname-Method] in classname-xxx.o
"_RKMIMETypeJSON", referenced from:
-[classname-xxxinitWithURLBase:timeOut:] in classname-xxx.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation).
If in RestKit project, I change in "Build Settings" -> "Architectures" the "Standard architectures (ARMv7, armv7s)" by Standard architectures (including 64-bit) (ARMv7, armv7s, arm64) option, everything compiles fine . Is this correct?, Does not bring any result, I have to change some other settings.
No
这只是意味着您正在为 64 位(iPhone 5s)构建您的项目,无需担心,请参阅此链接以获取更多解释: Xcode 5 和 iOS 7:架构和有效架构
Just change in RestKit project -> Build Settings -> Architectures to Standard Architecture (armv7, armv7s, arm64). After that everything should work.
This worked for me:
ios sdk 9.3
into your build setting of app.xcodeproj valid architecture: armv7 armv7s Build Active architecture : No
Clean and build , worked for me.
In my case i forgot to add sqlite library in my project. After adding library from Linked framework and library the build was successful.
I ran into the same/similar issue implementing AVPictureInPictureController and the issue was that I wasn't linking the AVKit framework in my project.
The error message was:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_AVPictureInPictureController",
referenced from:
objc-class-ref in yourTarget.a(yourObject.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation) The Solution:
Go to your Project Select your Target Then, go to Build Phases Open Link Binary With Libraries Finally, just add + the AVKit framework / any other framework. Hopefully this helps someone else running into a similar issue I had.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.