错误 itms-90122 - 无效的可执行文件大小
Posted
技术标签:
【中文标题】错误 itms-90122 - 无效的可执行文件大小【英文标题】:error itms-90122 - invalid executable size 【发布时间】:2017-01-02 19:59:30 【问题描述】:我只是在将我的应用上传到应用商店时遇到了一些问题。 问题是 armv7 的 60MB 文件大小限制! (见截图)
几乎没有嵌入图像或类似的东西。 应用程序文件只有 0.5MB 大,但我相信由于下次更新它会很快增加
是否有可能减小应用程序的大小?或者可能要更改一些设置以排除 armv7 并仅构建 64 位?
我们的应用已经上线几年了,现在我们变得“太大”了?我认为不可能“减少”代码。
我使用 AIR 22 和编译器选项“-optimize=true -strict=true”构建
【问题讨论】:
这是我的 app.xml 的 ios 部分:<iPhone> <InfoAdditions> <![CDATA[ <key>UIDeviceFamily</key> <array> <string>2</string> </array> <key>UIFileSharingEnabled</key> <true/> <key>MinimumOSVersion</key> <string>8.0</string> ]]> </InfoAdditions> <requestedDisplayResolution>high</requestedDisplayResolution> <Entitlements> <![CDATA[ <key>get-task-allow</key> <false/> <key>beta-reports-active</key> <true/> ]]> </Entitlements> </iPhone>
【参考方案1】:
有两种方法。
首先是使您的二进制文件小于 60MB。 第二种方法是设置项目部署目标编号。
以下是我收到的来自 Apple DTS 的电子邮件
有几种方法可以解决这种情况:
查看 Q&A 1795 中的建议,减小我的应用程序的大小。编译器选项部分与您的方案相关。此外,如果您的二进制文件中有数据,例如长字符串、表格或编码图像,您应该将这些资源从二进制文件中移出并放入外部文件中。 https://developer.apple.com/library/ios/qa/qa1795/_index.html
60 MB 的限制是您的主可执行文件中的每个体系结构。确定您的应用程序中有意义的部分,无论是作为单个框架还是作为少数框架,以便将它们构建到不同的二进制文件中。
如果您的应用程序的最小部署可以提高到 iOS 9,则可执行文件大小的限制会更高,整个可执行文件最大为 400 MB。这在下面的链接中进行了描述。 https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html
【讨论】:
链接失效,这里是更新的文档:help.apple.com/app-store-connect/#/dev611e0a21f以上是关于错误 itms-90122 - 无效的可执行文件大小的主要内容,如果未能解决你的问题,请参考以下文章
在 C 函数调用中传递 char 字符串时,Bochs (2.4.6)/GRUB (0.97) “错误 13 无效或不受支持的可执行格式”
在 VS Code 上模拟 Android 时出现“无效参数:找不到 null 的可执行文件” - Mac OS X
Xcode - 警告 ITMS-90735 - 无效的可执行部分 - 提交到 App Store