web-dev-qa-db-ja.com

新しいSierraアップデートでアプリのコンパイルが遅い

MacをmacOS Sierra 10.12.1にアップデートすると、実際のデバイスでアプリケーションを実行する時間が大幅に増加しました。 「カスタムスクリプト「Embed Pods Frameworks」を実行する」と「コピーSwift標準ライブラリー」」をビルドするには、30分以上かかります。

誰かが同じ問題に直面していますか?

30
psu

キーチェーンを確認してください。 Sierraを10.12.1に更新した後、私の証明書の1つが500コピー以上あり、他のいくつかは数百回複製されました。

私はすべての重複を削除して、それぞれ1つだけを保持しました。コード署名時間は、フレームワークあたり30秒から、約1秒に短縮されました。

証明書が複製された方法と理由はわかりませんが、問題のタイミングから、Sierraの更新が原因であることがわかります。

31
Troy

2017-03-23アップデート

COCOAPODS_PARALLEL_CODE_SIGNフラグも現在のリリースビルドで評価されるため、CocoaPodsのベータ版のインストールをスキップできます。

元の回答

最善ではない代替ソリューションを見つけましたが、少なくともスピードアップしています。わたしにはできる)

Cocoapodsは数日前に新しいベータ版をリリースしました。

埋め込みフレームワークスクリプトの実行時に並列コード署名が可能になります( https://github.com/CocoaPods/CocoaPods/pull/6088#issuecomment-2574417

  1. 最新のベータ版をインストールする

gem install cocoapods --pre

  1. Xcodeターゲットのビルド設定に移動し、上部にある+アイコンをクリックします

enter image description here

  1. COCOAPODS_PARALLEL_CODE_SIGNtrueに設定します

enter image description here

そして、増加した構築速度をお楽しみください!

23
Johnny

キーチェーンは問題ないように見えるが問題がある場合–設定を確認し、このファイルのすべての重複を削除します:~/Library/Preferences/com.Apple.security.plist

通常の設定では、このファイルには、ログインキーチェーン参照を含むレコードを1つだけ含める必要があります。

15
Max Potapov

上記のすべてのアプローチがうまくいきませんでした。大きな助けとなったのはresetting the System.keychain、サイズは25 MBでした。これにより、CIシステムのビルド時間が最大40%短縮されました。

分析

du -h /Library/Keychains/System.keychain
good: 60K
bad: 25MB

リセット

Sudo systemkeychain -vfcC [password]

重要:System.keychainに保存されている重要なキー/証明書/パスワードがある場合、リセットを実行する前にそれらをエクスポートし、必要に応じてそれらを再インポートすることができます。これは私には必要ありませんでした。私の新しいSystem.keychainにはコンテンツがなく、プロジェクトの構築はまったく問題なく動作します。

0
Sven Driemecker