Reputation: 68840
After updating to MonoTouch 5.2.4 and submitting an app to the App store, it was rejected by the App Loader because:
"iPad: application executable is missing a required architecture. At least one of the following architectures(s) must be present: armv7"
Is there a way around this in MonoTouch?
Upvotes: 2
Views: 1175
Reputation: 43553
To satisfy Apple's architecture requirements for the iPad you can either use:
the LLVM option and select ARMv7 (no need for ARMv6 when the application is for the iPad only); or
add a --armv7
to the Additional mtouch arguments. This won't be using the LLVM compiler (but the regular Mono AOT compiler) but will produce some (not much) ARMv7 assembly.
Using LLVM will produce smaller and faster code but it will take a lot more time to build the application (that's not generally an issue for releasing to the appstore). OTOH you cannot use this option for debugging (again not really an issue for the appstore builds).
Should I add ARMv6 too? to support older iPhone 3 ?
Apple's message indicates you're building an iPad-only application. If it's not the case then you need to change this (to allow iPhones, iPod Touch) and not the ARM-CPU selection (using only ARMv6 is ok when you target older devices).
Upvotes: 4