【发布时间】:2016-07-26 14:43:03
【问题描述】:
已经有几个关于 Unity3d IPA 大小的问题,但我发现没有一个可以正确解决问题。
问题是,如果我通过 XCode GUI 导出 IPA,我有一个 24mg 的 IPA,如果我使用命令行导出,我得到一个 160mg 的 IPA。
步骤:
- 使用默认 iOS 设置从 Unity 创建项目
- 在 Xcode 7.3.1 中打开,选择 Product -> Archive
现在,通过 GUI:
- 打开Organizer,选择存档、导出、保存以供企业部署,完成
24mg 异丙醇
通过命令行:
- 从 Organizer 获取由 xcode 生成的存档的路径(在 Finder 中显示)
- 运行
xcodebuild -exportArchive -archivePath ~/Library/etc/etc/Unity-iPhone.xcarchive -exportPath build/Unity-iPhone -exportFormat ipa -exportProvisioningProfile "My Provisioning Profile"
这给了我 160 毫克 IPA...
$ ls -lh
total 382480
-rw-r--r-- 1 iz staff 163M Jul 26 15:28 cmdline.ipa
-rw-r--r-- 1 iz staff 23M Jul 26 15:28 gui.ipa
解压缩 IPA 文件并比较树(使用 find . -exec ls -lh {} \; 和 diff):
$ diff gui.txt cmdline.txt
55,56c54
< -rw-r--r-- 1 iz staff 416B Jul 26 12:15 ./Payload/childplayground.app/archived-expanded-entitlements.xcent
< -rwxr-xr-x 1 iz staff 30M Jul 26 12:23 ./Payload/childplayground.app/childplayground
---
> -rwxr-xr-x 1 iz staff 270M Jul 26 12:27 ./Payload/childplayground.app/childplayground
这清楚地表明,唯一的大小差异在于主二进制文件本身。再加上 GUI 生成的 IPA 包含这个命令行没有的 archived-expanded-entitlements.xcent 文件...
关于我可以在命令行中更改什么以获得相同的 IPA 大小的任何提示?
【问题讨论】:
-
在
xcodebuild命令行的末尾不应该有一个archive参数吗? -
这是上一步(归档),通过 GUI 完成(在本例中)。无论如何都解决了,现在发布答案...
-
仅供参考,也在这里问过; stackoverflow.com/questions/39309133/…