- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在将我的 iOS 应用程序上传到 iTunes。我正在使用 MonoTouch 为 iOS 编译我的 LibGdx 游戏。在 Android 中,它几乎不是 7-8mb。但是当我在 iTunes AppStore 上上传时,它会变成 78 mb。我不知道为什么?请让我知道。
我也从 Apple 收到了这个错误。
尊敬的开发者,
我们发现您最近交付的“Run Panda Run:Racing”存在一个或多个问题。要处理您的交付,必须更正以下问题:
无效的可执行文件大小 - 72037504 字节的可执行文件大小超过了 60 MB 的最大允许大小。
最佳答案
如果没有更多细节,很难给出一个明确的答案。有很多因素会影响应用程序的大小。让我们从基本开始。
您应该检查的内容:
首先,确保您的应用程序未使用不链接构建。这将创建非常大的应用程序,因为您将 几乎 AOT'ing Xamarin.iOS 提供的完整 .NET 框架;
其次,确保您针对单一架构 (ARMv7) 进行构建。 FAT 二进制文件(例如 ARMv7 和 ARMv7s)构建了两次,需要两倍的空间;
第三,确保您没有启用调试 构建(可以在发布构建中启用,它是一个复选框)。这将创建更大的二进制文件以支持调试;
第四,确保您使用的是 LLVM 编译器。编译需要更多时间,但会生成更好(和更小)的代码;
这些初始检查非常容易进行,并且是获取非常大的二进制文件的最常见原因。
要了解大小的来源,您需要了解应用程序的构建方式。
Android 和 iOS 版本之间的主要区别在于 iOS 不允许 JIT'ing(即时编译)(Apple 的规则)。
这意味着必须对代码进行 AOT(提前编译),并且该过程会创建更大的可执行文件(因为 IL 比 native 代码更紧凑);
如果您的代码是泛型繁重的,那么最终的二进制文件可能会变得非常大,因为它需要本地编译所有泛型可能性(许多情况可以共享,但值类型不能)。
如何减小尺寸:
许多人认为链接他们自己的代码不值得 - 因为他们知道在运行时将需要它(因此链接器无法删除它)否则他们不会编写该代码。
这只对了一半。链接器可能无法删除您的大部分应用程序代码但是如果您使用的是第 3 方程序集,它们不太可能 100% 使用。链接器可以删除该额外代码(并且还可以从 SDK 中删除为支持不需要的代码而保留的所有代码)。您拥有的共享代码越多,链接器对您的帮助就越大。
更少的 IL 代码意味着更快的 AOT 时间,这转化为更快的构建和更小的最终二进制文件(包括可执行文件大小)。
注意:有很多文档和博客条目介绍如何控制链接器跳过某些程序集、某些类型或方法,使其不被处理/删除。
关于ios - 无效的可执行文件大小 - 来自 iTunes Connect,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15309671/
作为桌面开发人员,这对我来说是新的。 如果我能弄清楚这是如何完成的,它可能与我正在做的一些研究有关,特别是如何将厚桌面应用程序迁移到 Web 实现。 我能找到更多面向形式和轻量级的图形,但重量级的 3
我发现我可以搜索这样的歌曲术语: https://itunes.apple.com/search?media=music&entity=musicTrack&attribute=songTerm&te
我最近发布了一个 iPhone 应用程序,但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息。 你能告诉我怎么做吗? 最佳答案 您可以从 iTunes Connect 开
我刚刚发布了一款 iPhone 应用程序并正在更新其支持网站。我使用 iTunes Link Maker 创建了如下所示的链接。有一次,它打开了 iTunes,其余时间都没有。我尝试关闭 iTunes
我们想编写一个 Windows/OS X 应用程序,将播客评级信息从 iPod 和 iTunes 发送回服务器。两个问题: 是否有关于评分数据如何存储在 iTunes 中的文档, 如果用户将 iTun
如何获取可用的 iTunes 播客的 RSS 提要 URL?我想要一个列出 iTunes 上所有播客的提要。这可能吗? 谢谢。 最佳答案 现在有几种选择: iTunes RSS Feed Genera
我已经在 Apple iTunes 上更新了新版本的 iOS 应用程序。今天早上获得批准后,我发布了版本。已经超过 5 小时了,我仍然无法在 iTunes 上看到更新版本。当我打开 URL 时它仍然显
我正在使用 iTunes Store web service search API 获取歌曲信息. 我遇到的唯一问题是艺术品的分辨率极低(只有 60x60px 或 100x100px 可用)。 art
打算使用iTunes Search API来获取与应用程序相关的信息-http://www.apple.com/itunes/affiliates/resources/documentation/it
我很喜欢使用 iTunes Store,但我很好奇它是基于什么开发的(PHP 和 MySQL、Something Custom?)。 最佳答案 WebObjects 。如今它随 XCode 一起提供,
这与这样的帖子有关:iTunes API: get 100x100 px icon of an App 但是,由于接受答案中描述的方法似乎在某些情况下却被打破了,但仍然是一致的,所以我要问是否有已知的
有没有办法以编程方式与 iTunes 交互以添加新的播放列表或智能 View ? 例如,假设我从网站下载了 10 个新的 mp3 文件,有没有办法以编程方式将这个 mp3 列表添加到名为“New Al
使用 iTunes Link Maker 时一个人会得到一个 http-Link,这非常好,因为它也适用于非 iOS 设备。 但是当我在网页上使用它时,重定向到应用程序的确切时间是什么时候? Safa
有没有办法从 3rd 方应用程序以编程方式将 mp3 添加到我的 iTunes 库? 最佳答案 iTunes 有一个文件夹,您可以在其中放置文件,以便自动将其添加到库中。 C:\Users\Your
我已经搜索了如何在文件系统更改时在 iOS5 中接收回调。我从 Apple 的网站上找到了以下示例,但它仅在删除/创建文件时通知给定的委托(delegate)。 DirectoryWatcher cl
在 Cocoa 应用程序中,我正在寻找一种从 iTunes 检索专辑插图的解决方案,而不需要 iTunes 本身在后台启动和运行。 通常也是唯一的解决方案,Scripting Bridge,以及固有的
嗨,我的应用程序有指向 iTunes 音乐专辑的链接 像这样 http://itunes.apple.com/us/album/better-than-a-hallelujah/id366013643
我有自己的 iTunes Connect 帐户和 Apple 开发者许可证。 现在我加入了现有的开发人员团队,并希望能够将他们的构建上传到 iTunes Connect。 我通过 developer.
到目前为止我已经尝试过了,但仍然很不走运,我的应用程序没有安装到某些设备上。 这是步骤。 添加了 3 台设备的 UDID(2 X iPhone 5、iPad 4)。 修改后的开发配置文件(使用 * A
我正在尝试从 iTunes 搜索 API 获取播客剧集列表。我可以调用 API 并根据搜索词取回所有播客专辑: https://itunes.apple.com/search?media=podcas
我是一名优秀的程序员,十分优秀!