iOS ArcGIS.framework 太大,因此 .ipa 大小

标签 ios xcode ipa arcgis-runtime

我正在使用 ArcGIS.framework for iOS 维护一个应用程序。我正在从版本 10.2~ 升级到 100+。我已经延长了这个时间,希望在某个时候应用程序大小问题能够得到解决。使用较新框架的应用程序大小从 26MB 增加到超过 360MB。这不会被客户接受。我一直在寻找一种不使用应用程序精简来减小应用程序大小的好而简单的方法,这需要启用位码,但由于其他一些原因我无法启用。

剥离 x86_64 和 i386 架构并不会减少框架的大小。

我们可以在编译时为 Xcode 提供标志、其他编译器或链接设置吗?

最佳答案

您可以在不启用位码的情况下利用 App Thinning,如果您的目标是 iOS 9 及更高版本,您将只会看到部署到任何设备的 Thinned .ipa(尽管会生成并上传 Universal .ipa到 iTunes Connect)。

实际上,这意味着如果您使用的是 Runtime 100.x,您的应用将使用应用瘦身。

以下是我们如何评估它以了解最终会在 iOS 9+ 设备上出现什么(运行时 100.2 需要):

  1. 在 Xcode 的菜单中,选择 Product -> Archive(确保您选择了 Generic iOS Device 或实际设备作为目标设备)。
  2. 完成后,管理器窗口应会弹出,您应该能够在存档选项卡中看到最新的存档。
  3. 选择存档并点击右侧的 Export 按钮。
  4. 选择 Development 并点击 Next。
  5. 根据要求选择一个团队。
  6. App Thinning 菜单中,选择特定设备并点击 Next。
  7. 选择您的签名方式并点击下一步。
  8. 查看摘要,然后点击“导出”。

您最终会得到一个文件夹,其中包含精简后的 .ipa 和一些关于精简过程的报告,包括预期在设备上看到的用途。

例如,这是针对 iPhone 8(禁用位码)的运行时应用的 App Thinning Size Report.txt:

App Thinning Size Report for All Variants of MyRuntime100App

Variant: MyRuntime100App-iPhone 8.ipa
Supported devices: iPhone 8
App + On Demand Resources size: 31 MB compressed, 89.7 MB uncompressed
App size: 31 MB compressed, 89.7 MB uncompressed
On Demand Resources size: Zero KB compressed, Zero KB uncompressed

所以上面的应用程序将是 31 MB 的空中下载,并且会在设备上占用 89.7 MB(并且该示例恰好包括一个 19.8 MB 的移动 map 包)。

希望对您有所帮助。

我也鼓励您将 future 的问题发布到我们的 iOS Runtime SDK forum如果可以的话。

关于iOS ArcGIS.framework 太大,因此 .ipa 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488350/

相关文章:

ios - 从 xcode 命令行生成 ipa

xcode - 文件 “embedded.mobileprovision” 无法保存在文件夹 “Watch Badge Extension.appex” 中

ios - 当我们通过ipa安装Application时,iphone 5(OS- 8.2)崩溃,但在设备上调试时却无法崩溃

ios - 从更新函数调用时,自定义 SKShapeNode 未出现在场景中

Xcode:如何找到标准库或系统库的源代码?

ios - UITableViewController 子类实现了 UIDataSourceModelAssociation 协议(protocol),但它的方法从未被调用

iphone - 从代码启动 UIGestureRecognizer

iphone - Xcode 4.2 中烦人的代码签名错误/警告

iphone - 如何检测推送 subview 后 UIviewcontroller 何时再次激活?

ios - iOS 7 上的矩形 UISearchBar