Unity3d的iOS打造exportArchive IPA大小(Unity3d iOS build

2019-09-28 21:44发布

有几个问题已经在Unity3d IPA大小,却找不着,妥善解决问题。

问题是,我有一个为24mg IPA如果我通过了XCode GUI出口IPA和我得到160mg之一,如果我用命令行出口。

步骤:

  • 使用默认iOS设置创建统一的项目
  • 在Xcode 7.3.1打开,选择产品 - > 存档

现在,通过图形用户界面:

  • 打开管理器 ,选择归档,导出,保存为企业部署,完成

IPA与24毫克

通过命令行:

  • 获得路径从主办方通过Xcode中产生的归档文件( 在Finder中显示
  • 运行xcodebuild -exportArchive -archivePath ~/Library/etc/etc/Unity-iPhone.xcarchive -exportPath build/Unity-iPhone -exportFormat ipa -exportProvisioningProfile "My Provisioning Profile"

这给了我160mg 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大小?

Answer 1:

我想我不应该忽略不推荐使用的警告,并使用-exportOptionsPlist代替。

生成的IPA以相同为24mg作为GUI。

为了完整起见, exportOptions.plist文件使用的是:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>method</key>
        <string>enterprise</string>
    </dict>
</plist>

和命令行:

xcodebuild -exportArchive -archivePath ~/Library/etc/etc/Unity-iPhone.xcarchive -exportPath build/Unity-iPhone -exportOptionsPlist exportOptions.plist

删除exportFormatexportProvisioningProfile和使用exportOptionsPlist代替



文章来源: Unity3d iOS build exportArchive IPA size