I have been developing an app and using Apple's new Testflight to distribute the beta. After every successful upload, I received a follow up email from Apple informing me that my binary lacked 64-bit support. However, RubyMotion has supported 64-bit as of 9/13 and has built 64-bit by default since 3.0. I have confirmed that my binaries are missing 64-bit support. What gives?
Asked
Active
Viewed 244 times
1 Answers
3
Turns out that setting your deployment target to less than 7.0 builds a 32-bit binary. After setting it to 7.0, it successfully built a 32-bit and 64-bit binary. You can check which architectures are contained in your binary by using the file
command:
$ file ./build/iPhoneOS-7.0-Development/APPNAME.app/APPNAME
./build/iPhoneOS-7.0-Development/APPNAME.app/APPNAME: Mach-O universal binary with 2 architectures
./build/iPhoneOS-7.0-Development/APPNAME.app/APPNAME (for architecture armv7): Mach-O executable arm
./build/iPhoneOS-7.0-Development/APPNAME.app/APPNAME (for architecture arm64): Mach-O 64-bit executable

senornestor
- 4,075
- 2
- 33
- 33
-
Nice -- I got a bit nervous about my recent submission when I saw your question, but the `file` command confirmed I have both in there. Appreciate you showing the command to check it. – Jamon Holmgren Feb 09 '15 at 05:16