iOS シミュレータ入門
Xcode 内で利用可能な iOS シミュレータアプリは、Mac コンピュータ上のウィンドウで、iPhone、iPad、または Apple Watch のユーザー・インターフェースを提供します。タップ、デバイスの回転、および他のユーザアクションをエミュレートするために、キーボードとマウスを使用して iOS シミュレータと相互作用します。
本章では、iOS シミュレータを使用する基本を説明します。使用するアプリを持っていない場合は、HelloWorld のサンプルコードで、独自の iOS アプリを使用してこれらのステップを実行すできます。iOS シミュレータと相互作用し、アプリをテストしデバッグするためにそれを使用して、詳細については、このガイドの後の章を参照してください。
Xcode からの iOS シミュレータアクセス
Xcode を介して iOS シミュレータにアクセスするには、2つの異なる方法があります。最初の方法は、iOS シミュレータでアプリを実行することであり、第二の方法は、アプリを実行せずに iOS シミュレータを起動することです。
iOS シミュレータでアプリを実行
iOS シミュレータでアプリをテストする場合、Xcode プロジェクトから直接 iOS シミュレータでアプリを起動し、実行するのが最も簡単です。iOS シミュレータでアプリを実行するには、iOS のシミュレータ - たとえば、iPhone 6 とか iPad Air を Xcode スキームポップアップメニューから選択し、[実行(Run)]をクリックします。 Xcodeは、プロジェクトを構築し、図 1-1 に示すように、お使いの Mac の画面上で iOS シミュレータで実行中のアプリの最新バージョンを起動します。
図 1-1 HelloWorld アプリを実行中のシミュレートされた iPhone
注意: あなたが iPad ののデプロイメント・ターゲットでアプリをテストする場合は、シミュレートされた iPad でのみテストできます。iPhone またはユニバーサルのデプロイメント・ターゲットでアプリをテストしている場合は、シミュレートされた iPhone またはシミュレートされた iPad のいずれかでテストできます。
アプリを実行せずに iOS シミュレータを起動
時には、アプリを実行せずに iOS シミュレータを起動したいかもしれません。このアプローチは、あなたのアプリがデバイスのホーム画面から起動する方法をテストしたい場合や、iOS シミュレータでの Safari で Web アプリをテストする場合に便利です。
アプリを実行せずに iOS シミュレータを起動するには
- Xcode を起動します。
- 次のいずれかの操作を行います。
- [Xcode] > [開発ツールを開く(Open Developer Tool)] > [iOS シミュレータ(iOS Simulator)]を選択します。
- ドックの Xcode アイコンを Control-クリックし、ショートカットメニューから[開発ツールを開く] > [iOSシミュレータ]を選択します。
iOS シミュレータが開き、最後にシミュレートされたデバイスの方のホーム画面が表示されます。
インストールされたアプリを表示
ホーム画面から、iOS シミュレーション環境にインストールされているアプリのすべてにアクセスできます。あなたのアプリから iOS シミュレータでホーム画面にアクセスする方法は2つあります。
- コマンド+ Shift + H を押します。
- [ハードウェア(Hardware)]] > [ホーム(Home)]を選択します。
iOS デバイス上でのホーム画面に非常に良く似て、シミュレータのホーム画面は、複数のページを持っています。ホームボタンをクリック (または[ハードウェア]メニューから[ホーム]にアクセスしたように) した後、ホーム画面の2ページ目に到着します。最初のページ、プレインストールされた全てのアプリが見える所に移動するには、スワイプして、シミュレータ画面上で右方向にドラッグすることで、最初の[ホーム]画面に、移動sします。
[ホーム]画面では、iOS シミュレータに予めロードされている全てのアプリを見られます。図 1-2 を参照してください。
図 1-2 iOS シミュレータでのホーム画面
ホーム画面に表示されるアプリは、iOS デバイスシミュレーション環境に固有のものです。パスブックとヘルスケアアプリは iPhone だけで利用できますので、レガシーデバイスまたはサポートされていないデバイスの種類をシミュレートしている場合、これらのアプリは表示されません。
彼らとのアプリの相互作用をテストするために、インストール済みのアプリを使用してください。例えば、ゲームをテストしている場合、ゲームが正常にゲームセンターを使用していることを確信するために、iOS シミュレータを使用できます。
Web アプリをテストするため Safari を使用
ホーム画面から、iOS シミュレータ内の Safari にアクセスできます。お使いの Mac 上で直接あなたの iOS の Web アプリをテストするため Safari を使用してください。
- ホーム画面から、[Safari]をクリックします。
- Safari でアドレスフィールドに、Web アプリの URL を入力して Return キーを押します。
お使いの Mac がインターネットに接続されている場合、それは指定した URL のモバイルバージョンを表示します。たとえば、アドレスフィールドに apple.com と入力し、Returnキーを押します。Safariは、アップルの Web サイトを表示します。図 1-3 を参照してください。
図 1-3 iOSシミュレータ内の Safari で動作しているアップルの Web サイト
位置認識のシミュレートにマップを使用
iOS シミュレータは、iOS アプリをデバッグする際に役立つツールを提供します。iOS シミュレータでデバッグができる、多くの特徴の一つは、アプリ内の場所認識です。場所を設定するには、[デバッグ(Debug)] > [場所(Location)] > [選択した場所(location of choice)]を選択します。メニューには、静的場所かルート追跡をシミュレートする項目があります。
あなたは、マップアプリで見ることができるあなた自身の場所を指定できます。
- [ホーム]画面から、[マップ(Map)]をクリックします。
- [デバッグ(Debug)] > [位置(Location)] > [カスタムの位置(Custum Location)]を選択してください。
- 表示されるウィンドウで、緯度フィールドに数字 40.75 および経度フィールドに数字 -73.75 を入力します。
- [OK]をクリックします。
- シミュレートされたデバイスの画面の左下隅で[現在の位置]ボタンをクリックします。
このタスクを完了した後、図 1-4 に示すように、自分の位置を表す青色のドットは、ロングアイランド高速道路の近くの、ニューヨーク、NY にあることに気づきます。
図 1-4 実行中のマップと iOS シミュレータでの緯度と経度をシミュレート中
シミュレートデバイスと iOS のバージョンを変更
iOS シミュレータは、デバイスの型と iOS のバージョンの多くの異なる組み合わせをシミュレートする機能を提供します。デバイスの型 は、特殊な サイズ変更可能 な型など、iPhone や iPad のモデルです。各デバイスの iOS の組み合わせは、独自の設定やアプリと、独自のシミュレーション環境を持っています。iOS シミュレータは、共通デバイスの iOS の組み合わせのシミュレータを提供します。また、テストしたい特定の組み合わせのシミュレータを追加することもできます。ただし、すべてのデバイスの型と iOS のバージョンの組み合わせが可能というわけではありません。
サイズ変更可能な型の使用方法については、シミュレートされた iPhone や iPad のサイズを変更 を参照してください。
別のデバイスの iOS の組み合わせを切り替えることができます。切り替えは、既存のデバイスのためのウィンドウを閉じ、選択したデバイスで新しいウィンドウを開きます。既存のデバイスは、タイムアウトが実際のデバイス上のものより長いかもしれませんが、通常の iOS の、シャットダウン・シーケンスに入ります。新しいデバイスは通常の iOS の起動シーケンスに入ります。
シミュレートされたデバイスを変更するには
- [ハードウェア(Hardware)] > [デバイス(Device)] > [選択したデバイス(device of choice)]を選択します。
iOS シミュレータは、アクティブなデバイスのウィンドウを閉じ、選択したデバイスで新しいウィンドウを開きます。
使用したいデバイスの型と iOS のバージョンの組み合わせがデバイスのサブメニューにない場合は、それのシミュレータを作成します。
シミュレータを追加するには
- [ハードウェア] > [デバイス] > [デバイスの管理(Manage Device)]を選択します。
- 左の列の下部で、追加ボタン (+)をクリックします。
- 表示されるダイアログで、シミュレータ名のテキストフィールドに名前を入力し、デバイスの型ポップアップメニューからデバイスを選択します。
- [iOS のバージョン]ポップアップメニューから iOS のバージョンを選択します。
- [作成(Create)]をクリックします。
Xcode はデバイス・ウィンドウを開きます。
または、あなたが使用したい iOS バージョンが iOS のバージョンのポップアップメニューにない場合は、"もっとシミュレータをダウンロードする(Download more simulators)"を選択し、シミュレータをダウンロードするための手順に従ってください。
使用したい iOS のバージョンがインストールされていない場合、それをダウンロードし、再びシミュレータを追加する手順に従ってください。
シミュレータをダウンロードするには
- Xcode で、[Xcode] > [設定(Preferences)] を選択します。
- 設定(Preferences)ウィンドウで、[ダウンロード(Download)]をクリックします。
- コンポーネントで、追加したいレガシーシミュレータのバージョンを見つけて、[インストール]ボタンをクリックします。
また、[デバイス]ウィンドウでシミュレータの名前を変更したり削除することができます。
シミュレータを削除するには
- iOS シミュレータ内で、[ハードウェア] > [デバイス] > [デバイスの管理] を選択し、または Xcode内 で、[ウィンドウ] > [デバイス] を選択します。
- 左の列で、シミュレータを選択します。
- 左の列の下で、[アクション]ボタン ([追加]ボタンの隣のギア) をクリックします。
- [アクション]メニューから[削除(Delete)]を選択します。
- 表示されるダイアログで、[削除]をクリックします。
Xcode はデバイス・ウィンドウを開きます。
シミュレータの名前を変更するには、[アクション]メニューから[名前を変更(Rename)]を選択し、新しい名前を入力します。
[デバイス]ウィンドウに表示される実際のデバイスを管理する方法については、デバイスウィンドウ・ヘルプ をお読みください。
Apple Watch を表示
iOS シミュレータは、関連する iPhone シミュレータの外部ディスプレイとして示したアップルウォッチであなたの WatchKit アプリを実行します。シミュレートされた iPhone は iOS 8.2 以降を実行していることを確認して下さい。
シミュレートされた Apple Watch を表示するには
- iOS 8.2 以降を実行している iPhone シミュレータのどれかを開きます。
- [ハードウェア] > [外部ディスプレイ(External Display)]を選択して、Apple Watch を選択します。
外部ディスプレイ・メニューリストにすべての使用可能なサイズを表示します。
選択したサイズの Apple Watch シミュレータを表示するには Xcode からあなたの WatchKit アプリを実行します。以下の図は、38 mmm と 42 mm の画面サイズで実行されているリスターサンプルコードを示します。
         
あなたの WatchKit アプリをビルドし、実行、するには、ビルド、実行、そしてデバッグプロセス を参照してください。
シミュレートされた iPhone や iPad のサイズを変更
合理的な範囲内のさまざまな画面サイズをテストするには、サイズ変更可能なデバイスを選択します。
Xcode で、スキームのポップアップメニューからサイズ変更可能な iPhone や、サイズ変更可能な iPad を選択し、[実行(Run)]をクリックします。また、iOS シミュレータで、[ハードウェア] > [デバイス]次に[サイズ変更可能な iPhone]や[サイズ変更可能な iPad]を選択します。iOS シミュレータ・ウィンドウの下部で、幅と高さのテキストフィールドで画面の寸法を入力し、[適用(Apply)]をクリックします。iOS シミュレータは、実行中のアプリのサイズを変更します。許容範囲外の幅や高さを選択した場合は、iOS シミュレータは、範囲内に収まるように、アプリのサイズを変更します。
すべての iOS デバイスのため単一のストーリーボードを使用している場合は、あなたのアプリは、異なるサイズのクラスに適合させることができます。異なるサイズのクラスをシミュレートするために、幅と高さのテキストフィールドに隣接したポップアップメニューから[普通サイズ(Regular)]または[コンパクト(Compact)] を選択して、[適用]をクリックします。ポートレートやランドスケープモードでの iPad をシミュレートするには、幅と高さを[普通サイズ]に設定します。たとえば、iPad 上の主従(master-detail)インターフェイスでは、テーブルビューは、左側に表示され、詳細(detail)ビューが右側に表示されます。
ランドスケープモードで、iPhone をシミュレートするには、幅と高さをコンパクト(Compact)に設定します。ポートレート・モードで iPhone をシミュレートするには、幅をコンパクトにして、高さを普通に設定します。例えば、ポートレートモードでは、iPhone 上のプライマリ/セカンダリ・インターフェイスでは、プライマリ・ビューが画面全体にフィットします。セカンダリ・ビューにテーブルビュー遷移内の項目を選択します。
インターフェース・ビルダーで異なるサイズのクラスをプレビューする方法については、複数のサイズクラスのデザインについて を参照して下さい。
iOS シミュレータでの設定を変更
あなたのアプリをテストするために役立つ iOS シミュレータ内の設定を変更することができます。iOS シミュレータでの設定アプリを開くには、iOS シミュレータでホーム画面に移動し、[設定(Setting)]をクリックします。図 1-5 では、iOS のシミュレーション環境で起動した時に、それが表示される、[設定]アプリを表示します。
図 1-5 シミュレートされた iPad デバイスの設定アプリの例
iOS シミュレータの設定は、ハードウェアデバイスで見られる設定とは異なります。ハードウェアデバイスは使用するために設計されているのに対し、iOS シミュレータは、あなたのアプリをテストするために設計されています。iOS シミュレータは、テストするアプリのために設計されているため、その設定は当然、テストに焦点を当てています。たとえば、iOS シミュレータでアクセシビリティ・メニューはアクセシビリティ・インスペクタをオンにする機能を提供し、デバイスのアクセシビリティ・メニューを使用すると、異なるアクセシビリティ機能をオンにしたりオフにしたりすることができます。
設定を介して、あなたはアクセシビリティと、アプリのローカライズの両方をテストすることができます。興味のあるテストの様々なタイプの設定を操作する方法については、iOS シミュレーターでのテストとデバッグ を参照してください。
デバイスを回転させる
物理的なデバイスでそうするように、あなたは iOS シミュレータを使用することで多くの事をシミュレートされたデバイスを操作する事ができます。
あなたのシミュレートされたデバイスを回転するには。[ハードウエア] > [左に回転(Rotate Left)] を選択して下さい。シミュレートされたデバイスを回転すると、ちょうどハードウェアデバイスの場合と同様、 (図 1-6 を参照) 設定が回転します。
図 1-6 iOS シミュレーション環境で実行中のシミュレートされた iPad の回転
iOS シミュレータとデバイス上でのテスト
iOS シミュレータは、設計、急速プロトタイピング、およびアプリのテストであなたを支援するために設計されていますが、テストのための唯一のプラットフォームとして機能することは決してありません。一つの理由は、すべてのアプリがシミュレータで利用可能ではないことです。例えば、カメラアプリはハードウェア・デバイス上でのみ利用可能で、シミュレータ内で複製することはできません。
また、すべてのバグやパフォーマンスの問題が iOS シミュレータのみでのテストを通してキャッチすることができるとは限りません。あなたは、iOS シミュレーターでのテストとデバッグ でパフォーマンスの違いの詳細を学びます。また、アプリ配布ガイド の デバイス上でアプリを起動 で、デバイス上でのアプリのテストに関する詳細を見つけることもできます。
iOS シミュレータの終了
それを終了するまで iOS シミュレータは実行を継続します。Xcode を終了した場合でも、iOS シミュレータは、独立したアプリなので、実行し続けます。iOS シミュレータを終了するには、[iOS シミュレータ] > [iOS シミュレータの終了] を選択します。Xcode が実行されている場合、Xcode は開いたままです。
前の章:iOS シミュレータについて
次の章:iOS シミュレータとの相互作用