216
212

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Xcode6/7系全てで確認済]iOS開発のビルドを爆速(超絶簡単)にするポイントまとめ

Last updated at Posted at 2014-12-17

Xcodeで開発を進めていくと画像やSDKや新規のライブラリ追加やCocoaPodsなどが原因で

急激にXcodeのビルドが重くなってきます。(小規模開発でさえ、30秒〜1分近くなることも。。。)

おそらく、僕と同じようなiOS開発を初めて間もない方もお困りだと思い、
自分が試した中で特に効果があった2つの施策を残しておこうと思います。

前提条件

  • Xcode6系

スクリーンショット 2014-12-18 0.53.18.png
*代表してXcode6.1.1のスクショ。

  • OSX 10.9.5

スクリーンショット 2014-12-18 0.54.32.png

  • Swift version 1.1 (swift-600.0.56.1)

スクリーンショット 2014-12-18 0.57.18.png


並列ビルドの設定をする(IDEの場合)

Xcodeはデフォルトだとシングルタスクでビルドを行います。
そのため、以下の手順で並列ビルドの設定を行います。

手順1・以下のコマンドを実行する

コマンド

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks <並列数>

コマンド実行例

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 5

手順2・Xcodeを再起動する

注意
CLIでも実行する方法があるかと思いますが、私がXcode(IDE)をメインで使うため、IDE用のコマンドを実行しています。


CocoaPodsのコンパイルをスキップする

Xcodeはデフォルトの場合、CocoaPodsもデバッグ実行時に毎回Podsのビルドが走る仕様になっています。
Podsは頻繁に変更を行うものではないため、全くビルドを行わないのは考えものですが、通常の開発ではこのビルドをスキップしましょう。

手順1・Xcodeのメニューから、「Product」->「Scheme」->「Edit Scheme」でスキーマの編集画面を開く

スクリーンショット 2014-12-18 0.46.41.png

手順2・編集ダイアログ上部のSchemeを、デバッグ実行に使うSchemeに変更

スクリーンショット 2014-12-18 0.47.43.png

手順3・左のリストから「Build」を選択し、右画面の「Find Implicit Dependencies」のチェックを外す

スクリーンショット 2014-12-18 0.49.46.png

スクリーンショット 2014-12-18 0.49.53.png

注意

  • リリース用のSchemeで行う際はリリース前に必ず時間をとって、「Find Implicit Dependancies」にチェックをつけて、「Clean」して「Build」をしてPodのビルドを行いましょう。
  • AWSのSDKを入れてる場合、
clang: error: linker command failed with exit code 1 (use -v to see invocation)

というエラーが表示されてしまう。

216
212
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
216
212

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?