532
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

いつまでビルド時間をもて遊んでるつもり?今すぐ導入すべきiOS開発を爆速にするXcodeプラグイン

by @mixiappwchr

スクリーンショット 2014-05-30 10.05.20_120.png

下記の記事の中でもちらっと紹介したのですが、開発時のビルドを毎回やり直さずに修正できるXcode Pluginが非常に便利なので紹介したいと思います。
細かいチューニングを繰り返す場合に絶大な威力を発揮します。

DeNA中の人が事例で語る、アニメーションやデザインのアプリを効率よく開発するためのTips

ここで書きましたが、このプラグインを使うと

ビルドやり直ししてアプリ再起動など、いっさい必要ありません。

利点としては実際は裏でビルドしてるので、主にビルド時間というより、アプリが再起動が必要なくなる事です。
例えば深いところにあるUIの修正となると大きく威力を発揮します。

修正

アプリ再起動

そのページまで行く

と行った事が

修正

確認
ですみます。

シミュレータだけでなく、TCPで情報を送ってるので実機とmacが通信できるネットワークにいるなら使えるでしょう。

インストール

Injection For Xcode

こちらのサイトの下記のリンクからpluginのインストーラを落としてきて

Pllugin Download

スクリーンショット 2014-05-30 10.06.12_120.png

あとはインストールするだけです。

インストール後Xcodeを再起動するとXcodeのメニューのProduct内に専用のメニューが追加されているはずです。
スクリーンショット 2014-05-30 10.06.42_120.png

Injectionを有効にする

各プロジェクトでInjectionを利用したい場合はメニューの中の

Patch Project for Injection
スクリーンショット 2014-05-30 10.06.42_120 のコピー.png

をクリックすると自動的にmain.mにInjection用のコードに修正します。
元に戻したい場合は

Revert Injection's Change
スクリーンショット 2014-05-30 10.06.42_120 のコピー 2.png

をクリックすれば元に戻るので、依存関係は最小です。
ないと思いますがmain.mをいじっている場合は注意が必要かもしれません。

ちなみに以下のようにコードが挿入されます。
スクリーンショット 2014-05-30 10.25.13_120.png

使い方

使い方は非常に簡単です。
アプリを実行後にコードを修正を修正したら
^=(control + shift + =のキー)
を押すと,自動的にコードが反映されます。ビルドのやり直して、アプリ再起動はいっさい必要ありません。

大事なので繰り返し言いますが

ビルドやり直ししてアプリ再起動など、いっさい必要ありません。

デモ

例えばボタンをおすと、背景色が変わる簡単なアプリがあったとします。

スクリーンショット 2014-05-30 10.20.31_120.png

ボタンを押すと、今は黒に変わります。

スクリーンショット 2014-05-30 10.20.41_120.png

この色をこだわりたいんだ!チューニングするぞ!となった場合、コードを書き換えて再ビルドになるのですが、Injection For Xcodeを導入している場合は、コード修正後^=を押すだけで完了です。

スクリーンショット 2014-05-30 10.21.13_120.png
こちら色をグレーに変えたのですが、いっさい再ビルドしてアプリ再起動はしていません!反映は即時です。

どうでしょう?このようなパラメータの調整の繰り返しを行うとビルドしてアプリ再起動して確認を繰り返す時間は結構馬鹿にならないと思いますがそれがweb開発なみに修正が完了してしまいます。長い目で見るとおおきく時間の効率化を図れると思います。

その多機能

その他の機能としてパラメータチューニング用の設定画面を持っており、特殊な変数を通してそれを利用することができます。
スクリーンショット 2014-05-30 10.07.52_120.png
この設定画面のパラメータはコード上からアクセスできます。

INParameters[0]

INColors[0]

と言った配列で存在しており、上記の用な記述でアクセスすることができます。

例えば今回の場合は色の変更なのでカラー変更用を用いてみます。

スクリーンショット 2014-05-30 10.32.50_120.png

先ほどのカラー指定をINColors[0]に変更しました。当然この変更もInjectionで反映できます。

スクリーンショット 2014-05-30 10.33.12_120.png

0の指定なので、5つあるパレットの一番上になりますのでこれをクリックするとカラーパレットが出てくるので、赤に変えてみます。

スクリーンショット 2014-05-30 10.33.26_120.png

そして、Injection実行すると

スクリーンショット 2014-05-30 10.33.43_120.png

見事に赤になりました!

本当に

ビルドやり直ししてアプリ再起動など、いっさい必要ありません。

このようにサポートツールもあり、非常に便利なため皆さん使ってみてはいかがでしょうか?

appwchr post

API開発の効率化の架け橋!APIのStubサーバーを導入して,API開発に効率化、スピード化、柔軟性を手に入れよう!

アプリエンジニアから見てAPI設計において気をつけてもらえるとうれしいこと

Goodbye... Jenkins... Jenkinsを卒業してお手軽CI! iOSもAndroidもCircle CIでアプリのCIを回そう

まだTestFlight使ってたの?急げ!終了目前のTestFlightから,今すぐにiOSもDeployGateに移行しよう!移行パターンも紹介するよ。

Swiftを使ってみて直面した闇。現時点で現場でSwiftを採用すべきかどうかの判断材料

iOSの開発をする上で絶対に使うべき!外せない!webサービス、開発ツール集【完全版】

注目のiBeacomなどの波に乗り遅れないために!iOSのBluetooth開発を容易にするライブラリを書きました。

まだまだあった!iOSの開発を劇的に改善する最新のwebサービス、開発ツール集1

さらに快適なアプリ開発を!iOSの開発をもっと劇的に改善する最新のwebサービス、開発ツール集2

スパゲッティから脱出!iOS開発における遷移の問題をすっきり解決する便利ルーティングライブラリをご紹介

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
Sign upLogin
532
Help us understand the problem. What are the problem?