Help us understand the problem. What is going on with this article?

iOS 開発初心者による Xcode におけるビルドの使い分け

iOS 開発者の皆さん、 ビルド 、してますか!? (当たり前)
ビルド待ちって筋トレしたくなるくらい暇な時間ですよね。

ビルド待ちの間についつい Twitter や Slack 見てて、気づいたら夜だったなんてこともあったりなかったり。

僕は iOS 開発を初めて 2 ヶ月の初心者ですが、そんな僕から「ビルドの使い分け」をシェアしたいです。
最初は ⌘ + R しか知らなかった僕ですが、今ではその他に 2 つのビルド方法 を使い分けています。

本題

今日紹介するビルド方法は以下の 3 つです。

  • ⌘ + R (Run)
  • ⌘ + ⇧ + R (Build for Running)
  • ⌘ + ⌃ + R (Run without Building)

この 3 つがあれば、以下のような使い分けができます。

  • Run: ビルドして、実機 or シミュレータで動作を確認したいとき
  • Build for Running: ビルドだけして、動作確認はしないとき
  • Run without Building: ビルドはせずに、実機 or シミュレータによる動作の確認だけしたいとき

これで UseCase に応じてキーボードショートカットを覚えて帰っていただいても大いに結構なのですが、せっかくなのでそれぞれがどんなことをしているかを軽く説明しときます。

⌘ + ⇧ + R (Build for Running)

順番が最初と違いますが、まずはこれから。
ここでは ビルドのみ 行います。

ビルドとは、コンパイルしたりレジスタを初期化したりゴニョゴニョやる 下準備 みたいなものです。
これに関してもっと理解したい方は この記事 が参考になります。
ざっくり、コードを変更したら必要になるのがビルドです。

そして、 "Build Succeeded" となって成功する or "Build Faild" となると失敗して終了です。

どんな時に使うかと言うと、

  • コードを変更してとりあえずコンパイルだけしたいとき (エラーが出ないかだけ確認したい)
  • 見た目に関する変更が無くて実機 or シミュレータによる動作確認が不要なとき

に使っています。
次、 ⌘ + ⌃ + R (Run without Building) を説明します。

⌘ + ⌃ + R (Run without Building)

これは知らなかった人は是非知ってください。
なんと ビルド待ち時間が 0 になります。やばいですよね。

このコマンドでは、 Run without Building から分かるように、 ビルドをしません
なのでビルド待ちが 0 になるわけです。

じゃあ何をするかというと、 前回成功したビルド結果を元に実行 します。
ここでの実行とは、実機やシミュレータで動作確認することです。
前回成功したビルドなので、どれだけコードを変更しても反映されません
ここだけは注意して使い分けて下さい。

このコマンドは必ず成功して実行されますが、それはあなたが追加・変更したコードがうまく行っていることとは無関係ということです。

どんな時に使うかと言うと、

  • 実行したがクラッシュしてもう一度実行したいとき
  • とりあえず実機による動作確認がしたいとき

などです。「前回のビルド結果でいいから実行したいとき」ですね。

⌘ + R (Run)

最後、一番知られてるやつです。
Xcode 画面左上の ▶ 押して実行するやつです。

このコマンドでは、 ビルド + 実行 をしています。
今回紹介した中では最も時間がかかる処理です。
ビルド + 実行なので、先に紹介した 2 つのコマンドを直列実行しているということですね。

このコマンドは、

  • コードを変更し、その変更を動作確認したいとき

などに使います。

おまけ

ここでは、 Run に関するコマンドでしたが、RU に変えるとユニットテストに全く同じ感覚で使えます。
さらに RI に変えると Profiling とかいう謎のことにも使えるそうです。僕は使ったことないです。

まとめ

まとめると以下のようになります。

ショートカット コマンド名 動作 使用例
⌘ + ⇧ + R Build for Running ビルドのみ とりあえずコンパイルだけしたいとき
⌘ + ⌃ + R Run without Building 実行のみ とりあえず実機による動作確認がしたいとき
⌘ + R Run ビルド + 実行 コードを変更し、その変更を動作確認したいとき

使い分けてビルド待ちを最小にしましょう!!
くれぐれもビルド待ち中に筋トレしすぎてムキムキにならないように!!

daichikuwa0618
とっても弱い iOS エンジニアをやっています。
https://daichidaiji.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした