Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RubyMotion binary being rejected by Apple for missing 64-bit support ("Invalid binary")

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?

like image 811
senornestor Avatar asked Feb 12 '26 04:02

senornestor


1 Answers

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

like image 107
senornestor Avatar answered Feb 13 '26 18:02

senornestor



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!