web-dev-qa-db-ja.com

Xcodeのインスタント実行またはホットリロード

私はAndroid開発者で、最近Swiftの学習を開始しました。Androidスタジオと呼ばれる インスタントラン )にはすばらしい機能があります。コーディング中のコードの増分変更のビルド時間とデプロイ時間を短縮します。

Android Studio 2.0、Instant Runは、アプリの更新間の時間を大幅に短縮するRunコマンドとDebugコマンドの動作です。最初のビルドが完了するまでに時間がかかる場合がありますが、Instant Runは新しいAPKをビルドせずにアプリに後続の更新をプッシュするため、変更がはるかにすばやく表示されます。

Android Studioでインスタント実行を有効にすると、特にアプリの途中で詳細なView Controllerを操作している場合は、アプリを最初からビルドして実行する必要はありません(ストーリーボード) 。

この機能または同様の機能がXCodeで利用できるかどうか知りたいのですが、アプリをテストするたびにアプリを最初から実行する必要がありますか?

10
Milad Faridnia

THERE IS A WAY!

私はしばらく前にこの質問を見つけましたが、iOSで実際のインスタントを実行する方法はなかったと結論付けています。

しかし!私は最近、iOSにこの素晴らしい機能をもたらすことができる素晴らしいライブラリを見つけました。それは私にとって不可欠になり、初めてここに来たときに見つけたかったので、ここで共有します。これは Injection for Xcode と呼ばれ、プラグインの形式を取ります。新しいXcodeの制限のため、インストールは少し長くなります。プラグインを実行できるようにするには、Xcodeにパッチを適用する必要があります。これらの情報はすべて、ReadMeまたは「Issues」にあります。最大30分かかる場合がありますが、このプラグインはリアルタイムセーバーです

インストールしたら、Xcode(CMD + R)を使用して通常どおりアプリを実行します。次に、コントローラーのどこかでコードを変更します。次に、CTRL + =をクリックして、インジェクションプラグインを使用します。シミュレーターにリロードは表示されませんが、試してみると、コードの変更が行われたことがわかります(数秒で!)。

たとえば、次の行があります。

self.view.backgroundColor = [UIColor blackColor];

アプリがCMD + Rで実行されたら、行を次のように変更します。

self.view.backgroundColor = [UIColor whiteColor];

CTRL + =を押して、お楽しみください!

これが誰かに役立つことを願っています! (インストールなど)ご不明な点がございましたら、コメントでお問い合わせください。

8
AnthoPak

ストーリーボードから、またはプログラムで、プロジェクトのinitial-viewControllerを選択できます。ビューに追加します。これは、テスト時にロードする必要があるだけです。

しかし、実際にはコードを最初からコンパイルすることを心配する必要はありません。これは、変更したコードのみをコンパイルするため、xCodeの一種の自動化動作です。以下に示すように、ファイル階層内でこれに気付く場合があります。

ファイルの横にある「M」と「A」は;を指します。 「変更されたファイル」と「追加されたファイル」

The 'M' & 'A' at the side of files refers to; 'Modified files' &

変更なしのファイル。ビルド後、ビルドにそれほど時間はかかりません。

1
Aashish