3

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?

senornestor
  • 4,075
  • 2
  • 33
  • 33

1 Answers1

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