MonoTouch:“缺少所需的架构 armv7”
更新到 MonoTouch 5.2.4 并将应用程序提交到 App store 后,被 App Loader 拒绝,因为:
“iPad:应用程序可执行文件缺少所需的架构。位于 必须至少存在以下架构之一:armv7"
在 MonoTouch 中是否有解决此问题的方法?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为了满足 Apple 对 iPad 的架构要求,您可以使用:
LLVM 选项并选择 ARMv7(当应用程序仅适用于 iPad 时,不需要 ARMv6);或
将
--armv7
添加到其他mtouch参数。这不会使用 LLVM 编译器(而是常规的 Mono AOT 编译器),但会生成一些(不多)ARMv7 程序集。使用 LLVM 将生成更小、更快的代码,但构建应用程序将花费更多时间(这通常不是发布到应用程序商店的问题)。 OTOH,您不能使用此选项进行调试(对于应用程序商店构建而言,这也不是真正的问题)。
Apple 的消息表明您正在构建仅限 iPad的应用程序。如果不是这种情况,那么您需要更改此设置(以允许 iPhone、iPod Touch),而不是 ARM-CPU 选择(当您针对较旧的设备时,仅使用 ARMv6 就可以了)。
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).
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).