当我添加一个 Today Extension 时,我的应用突然变重了……所以我做了一个快速检查,看看这些脂肪是从哪里来的。看起来 .apex 是 13MB,“Assets.car”文件比我的主应用程序中的文件(+8MB)还要大。问题是,我在扩展中的资产目录中只使用了一张图片。
我在 Xcode 中检查过,我的主应用程序资产目录没有切换为使用扩展程序复制,但听起来确实如此。
正常吗?您知道如何减少最终的 .apex 大小吗?
谢谢!
当我添加一个 Today Extension 时,我的应用突然变重了……所以我做了一个快速检查,看看这些脂肪是从哪里来的。看起来 .apex 是 13MB,“Assets.car”文件比我的主应用程序中的文件(+8MB)还要大。问题是,我在扩展中的资产目录中只使用了一张图片。
我在 Xcode 中检查过,我的主应用程序资产目录没有切换为使用扩展程序复制,但听起来确实如此。
正常吗?您知道如何减少最终的 .apex 大小吗?
谢谢!
你有机会使用Cocoapods吗?
当前有一个未解决的问题导致Copy Pods Resources
运行脚本定位所有资产并将它们编译成一个大存档,这可能不是所有目标都需要的。
在解决此问题之前,一个简单的解决方案是在post_install
您的Podfile
:
# Fix broken copy-resources phase per https://github.com/CocoaPods/CocoaPods/issues/1546.
post_install do |installer|
installer.project.targets.each do |target|
scriptBaseName = "\"Pods/Target Support Files/#{target.name}/#{target.name}-resources\""
sh = (<<-EOT)
if [ -f #{scriptBaseName}.sh ]; then
if [ ! -f #{scriptBaseName}.sh.bak ]; then
cp #{scriptBaseName}.sh #{scriptBaseName}.sh.bak;
fi;
sed '/WRAPPER_EXTENSION/,/fi\\n/d' #{scriptBaseName}.sh > #{scriptBaseName}.sh.temp;
sed '/*.xcassets)/,/;;/d' #{scriptBaseName}.sh.temp > #{scriptBaseName}.sh;
rm #{scriptBaseName}.sh.temp;
fi;
EOT
`#{sh}`
end
end
上述代码片段的功劳归功于问题线程中所有有帮助的人!