After upgraded a project on Xcode 5.1, Product > Build gives the following warning and error:
ld: warning: ignoring file Dropbox/Dropbox.framework/Dropbox, missing required architecture arm64 in file Dropbox.framework/Dropbox (3 slices)
Undefined symbols for architecture arm64: "_OBJC_CLASS_$_DBPath", referenced from: objc-class-ref in DropboxViewController.o
It seems like the Dropbox.framework does not support arm64 yet.
What are the Xcode settings to remove arm64 support from the project to have a clean build?
Disabling the simulator arm64 buildNext to Debug , click on +. Then, click on Any SDK on the line that was added, and select Any iOS Simulator . Double click on the empty space on the right, press + in the popup and write arm64 . Press enter and click outside of the popup.
The iOS simulator's architecture is x86_64 (the latest Xcode doesn't support an i386-based simulator that the answer refers to), whereas a real iOS device (such as an iPhone or iPad) can be arm64 or arm64e. So when building an app for the simulator you need to specify x86_64, not an ARM architecture.
a library doesn't contain the x86_64 architecture (You can run lipo -info /path/to/your/lib. a to verify it). If you don't have the source code of the library, you have to modify your own project. In the build settings, change the valid architectures to armv7 and i386 , or change Architectures to armv7 only.
arm64 is the current 64-bit ARM CPU architecture, as used since the iPhone 5S and later (6, 6S, SE and 7), the iPad Air, Air 2 and Pro, with the A7 and later chips. armv7s (a.k.a. Swift, not to be confused with the language of the same name), being used in Apple's A6 and A6X chips on iPhone 5, iPhone 5C and iPad 4.
Change:
Standard
arm64 armv7 armv7s
To:
armv7 armv7s
armv7 armv7s
Remove armv64
in
Project > Build Settings > Architectures> Valid Architectures
( i.e. leave only armv7
and armv7s
)
Also, set Build Active Architectures Only
to NO
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With