7

今日の拡張機能を追加したとき、私のアプリは突然重くなりました...そのため、その脂肪がどこから来ているかを確認するために迅速な検査を行いました. .apex は 13 MB のように見えますが、「Assets.car」ファイルはメイン アプリのファイル (+8 MB) よりもさらに大きくなっています。問題は、拡張機能にあるアセット カタログで 1 つの画像のみを使用することです。

Xcode 内で確認したところ、メインのアプリ アセット カタログが拡張機能でコピーされるように切り替えられていませんが、実際にはそうであるように思えます。

それは正常ですか?最終的な .apex サイズを減らすために何をすべきか知っていますか?

ありがとう!

4

1 に答える 1

3

ひょっとして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

上記のコード スニペットの功績は、問題スレッドのすべての親切な人々に送られます!

于 2015-01-26T13:11:07.510 に答える