iOS Simulator は、あらゆる iOS 開発プロセスに不可欠な要素です。 無視することはできません。 Xcode 9 の新しいシミュレーターは、多くの便利なトリックを提供し、あなたの生産性をさらに向上させます。 Appleはついに、Simulatorを世に送り出したのです! これまでの控えめなアップデートに比べると、これは大きな出来事のように思えます。 🙌
では、これを分解して、新しい iOS シミュレーターで私が見つけたすべての機能を挙げてみましょう (いくつかのトリックは、古いシミュレーターでも使用できます)。
#1 Xcode
でフルスクリーン モードでのシミュレーター使用
13 インチ画面では、Xcode のフルスクリーン モードがまさにライフ セーバーとなります。 残念ながら、以前はフルスクリーンモードで Xcode と共にシミュレータを使用することはできませんでした。 しかし、Xcode 9 と iOS Simulator
でフルスクリーン モードが使用できるようになりました。 そのため、動作させるために何もする必要はありません。
UPD: 一部の人にとって、この機能はデフォルトで無効になっていることが判明しましたが、心配しないでください、さらに説明するように、Apple Internal
メニューからいつでも有効にすることができます。
新しい Simulator でもっと秘密の機能を探検したい場合は、Apple の隠し Internals
メニューを有効にします。
これを行うには、ルート ディレクトリに “AppleInternal” という名前で空のフォルダを作る必要があります。 以下のコマンドを実行し、Simulator を再起動します。
sudo mkdir /AppleInternal
新しいメニュー項目が表示されるはずです。 ☝️
Note:
I’ve tested this approach on Simulator from Xcode 9b3.X では、この方法を試しています。 もしお持ちでない場合は、こちらから最新の Xcode をダウンロードしてください。
#2 複数のシミュレーターを一度に開く
異なるシミュレーターでアプリをテストするときのフラストレーションを覚えていますか? 以前は、一度に 1 つのシミュレータ インスタンスのみを開くことを余儀なくされました。 古いバージョンの Xcode では、iOS シミュレーターの複数のインスタンスを開く方法について、多くの「ハック」がありました。
#3 通常のウィンドウのようにシミュレーターをリサイズする
Xcode 9 以前には、シミュレーターのウィンドウ サイズを調整するために「スケール オプション」だけが用意されていました。 Apple はついにシミュレータのウィンドウサイズを変更できるようにしました。 これは、複数のシミュレーターを開いている場合に、ワークスペースを効率的に整理するのに役立つ小さな機能です。
#4 Record video of Simulator
Xcode 9 の公式ドキュメント「新機能」では、シミュレーターの画面をビデオ撮影できるようになったと言っています。 これは完全に正しいわけではありません。 古いバージョンでも simctl
を使えばできます。
ビデオファイルを取得するには、次のコマンドを実行します:
xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>
booted
– これは、simctl
が現在起動している Simulator を選択することを意味しています。
#5 Finderから直接シミュレータにファイルを共有する
SimulatorにはFinder拡張機能があり、Finderのウィンドウから直接ファイルを共有することができます。
画像や動画ファイルについては、以下の simctl
コマンドで同様のことができます:
xcrun simctl addmedia booted <PATH TO MEDIA FILE>
こうした機能があるのは素晴らしいことです。
#6 シミュレータ上で URL を開く
こちらも simctl
で可能です。
以下のコマンドを必要な URL を指定して実行します:
xcrun simctl openurl booted <URL>
すべての Apple URL スキームのリストはドキュメントを参照してください。 ファイルシステム上のアプリのコンテナをコマンド1つで取得できます。 アプリのバンドル識別子を知って、以下のコマンドを実行するだけです:
xcrun simctl get_app_container booted <APP'S BUNDLE ID>
あるいは、open
コマンドで Finder で目的のフォルダを開くと、さらに速くなります:
open `xcrun simctl get_app_container booted <APP'S BUNDLE ID>` -a Finder
#8 コマンドライン引数でシミュレータでアプリを起動
simctl
では、ターミナルからアプリを起動してそこにいくつかのコマンドライン引数(いくつかの環境変数も設定できます)を渡すこともできます。
以下のコマンドは、アプリに隠されたデバッグ専用の動作を追加したい場合に役立ちます。
xcrun simctl launch --console booted <BUNDLE ID> <YOUR ARGUMENTS>
これらのコマンドライン引数は、CommandLine.arguments
(ドキュメントへのリンクはこちら) から取得できます。 もし、simctl get_app_container
が提供するよりも包括的な情報が必要な場合は、以下のようにします。
{
ApplicationType = User;
Bundle = <PATH TO APP FILE>;
BundleContainer = <PATH TO FOLDER WITH APP FILE>;
CFBundleDisplayName = TestiOSApp;
CFBundleExecutable = TestiOSApp;
CFBundleIdentifier = "com.ahmed.app.TestiOSApp";
CFBundleName = TestiOSApp;
CFBundleVersion = 1;
DataContainer = <PATH TO YOUR DATA>;
GroupContainers = {
};
Path = <PATH TO APP FILE>;
SBAppTags = (
);
}
以下のコマンドを実行し、出力を確認してください:
xcrun simctl appinfo booted <BUNDLE ID>
最後にもうひとつ…
iOS Simulator は開発プロセスを大幅に高速化できる非常に強力なツールです。 しかし、すべての小さな詳細とトリックを知っている場合に限ります。 そしてもちろん、優れたエンジニアとして、ツールのことを知らなければなりません。
ここ Flawless では、iOS Simulator は私たちにとって非常に重要です。 私たちの製品は iOS Simulator プラグインで、エンジニアは Simulator 内でインプリメンテーションの上にあるデザインを検査することができます。 ですから、この新しいXcode 9とSimulatorのリリースにどれだけ満足しているか、言葉では言い表せないほどです。 公開版が待ち遠しいです。 iOS アプリケーションのビジュアル品質を良い状態に保つために、より多くの便利な機能を実装することができるのですから
。