XcodeのRun Scriptフェーズを无效にしてビルド时间を短缩する(スクリプト付き)
私が担当しているiOSアプリをXcodeでビルドすると,CarthageやCocoaPodsであわせて50が必要なくても49秒かかっていました。
RunのRun Scriptフェーズを実行しないようにして,ビルド时间が35秒短缩されました。
RunのRun Scriptフェーズは一度実行すればDerivedDataを削除したりフレームワークを追加・削除したりしない限り実行する必要はありません。ですのでそのフェーズを実行しないように设定することでビルド时间を短缩すること(CocoaPods1.2.0では代码签名をパラレルに実行できるようになるようなので,效果は小さくなると思いますが)
具体的には运行脚本フェーズの只有安装设定をオンにするとArchiveのときのみ実行されるようになります时才运行脚本。しかし常にオンにしておくとCIでの実行などで问题が発生します。また,手动でオン・オフを切り替えるのは面倒です。ですので切り替えるためのスクリプトを作成しました。
xcodeprojというGemが必要です。CocoaPodsをインストールしてある场合は既に入っています。
使い方はこのスクリプトに実行権限を与えて以下のように実行します。
change_run_only_installing.rb --only --project = MyProject.xcodeproj --target = MyTarget --phases ='迦太基复制框架','[CP]嵌入式容器框架','[CP]复制容器资源'
MyProject.xcodeproj,MyTarget,“迦太基复制框架”,“ [CP]嵌入荚框架”,“ [CP]复制荚资源”は自分の环境に合わせて変更してください。
- 只要
がオ指定すると仅在安装がオンになり,时运行脚本
-仅
を指定するとオフになります。
frのコマンドのエイリアスを作成したりAlfredから简単に実行するようにすると良いと思います。
をとgitフックを利用することでオフにすることが出来るかもしれませんが,それは试してません。
のスクリプトに问题を発见したら変更リクエストをお愿いします。