#はじめに
iOSシミュレータは、開発の初期やサンプルコードを動かす時によく使用しますが、知らない機能や使い方があったのでまとめてみました。
#iOSシミュレータ?
- Xcodeに付属
- アプリケーションのテスト用として設計されている。
##特徴
- 設計や初期のテストの間に、アプリケーションの主な問題点を発見できる。
- iOSシミュレータでしか使えない開発ツールでアプリケーションをテストできる。(位置のシミュレート、画面描画に関する問題点の発見などが可能)
- iOSデベロッパプログラムのメンバーになる前に、Xcodeでの開発方法やiOSの開発環境について学ぶことができる。(AppStoreから無料でダウンロードし、シミュレータ上でアプリを動作させることが可能)
- Macがインターネットに接続されていれば、ウェブサイトのレイアウトや動作の確認にも使用できる。(iOSアプリ開発者でなくても使い道はある)
##シミュレータを使う
###1.Xcodeプロジェクトから直接起動し、実行する。
「Xcode scheme」ポップアップメニューからiOSシミュレータ(iPhone Retina (4-inch)など)を選択し、「Run」をクリックします。(プロジェクトがビルドされ、シミュレータが起動し、アプリケーションが実行されます。)
###2.単独で起動する
Xcodeを起動し、次のいずれかの方法で実行可能です。
-
「Xcode」>「Open Developer Tool」>「iOS Simulator」コマンドを実行する。
-
Controlキーを押しながらDock内の「Xcode」アイコンをクリックし、ショートカットメニューから「Developer Tool」>「iOS Simulator」を実行する。
##内蔵アプリ
シミュレータ内にインストールされたアプリは実機と同じように扱うことができます。
(App Storeから入手したアプリケーションはインストール出来ません。)
###設定アプリ
iOSシミュレータには実機と同様に「設定アプリ」が存在しますが、iOSシミュレータの設定画面はテストを意識したものになっています。キーボード、言語設定、アクセシビリティのみ設定を切り替えることができます。
###その他の標準アプリ
- Safari
- 写真
- 連絡先
- Game Center
- カレンダー (iOS 7のシミュレータのみ)
- マップ
- Newsstand
- Passbook (iPhoneのみ)
#シミュレータ上でのジェスチャ操作
実機のようにスムーズにはいきませんがマウスでジェスチャ操作をシミュレートできます。
(ジェスチャ) (デスクトップアクション) タップ クリック。 タッチアンドホールド マウスボタンまたはトラックパッドを長押し。 ダブルタップ ダブルクリック。 ドラッグ ドラッグ スワイプ ドラッグ フリック(はじく 素早くドラッグ。 ###2本指ドラッグ
- 2本指ドラッグを発生させようとする位置にポインタを置きます。
- Optionキーを押したままにします。
- 指でタッチする位置を表す円を、開始位置に移動します。
- Shiftキーを押したまま、円を目的の中心位置まで移動してからShiftキー を放すことにより、ピンチターゲットの中心点を移動します。
- Shiftキーとマウスボタンを押したまま、ドラッグしたい方向に円を描 くように動かした後、Shiftキーとマウスボタンを離します。
###ピンチ
- ピンチを発生させようとする位置にポインタを置きます。
- Optionキーを押したままにします。
- 指でタッチする位置を表す円を、開始位置に移動します。
- Shiftキーを押したまま、円を目的の中心位置まで移動してからShiftキー を放すことにより、ピンチターゲットの中心点を移動します。
- マウスボタンを押したまま、その円内から終了位置まで移動した後、 Optionキーを離します。
###回転
- 回転を発生させようとする位置にポインタを置きます。
- Optionキーを押したままにします。
- 指でタッチする位置を表す円を、開始位置に移動します。
- Shiftキーを押したまま、円を目的の中心位置まで移動してからShiftキー を放すことにより、ピンチターゲットの中心点を移動します。
- マウスボタンを押したまま、その円を終了位置まで回転した後、Option キーを離します。
#各メニューについて
Xcode5に付属しているiOSシミュレータ(バージョン7.0)で増えた機能には(New)をつけてみました。
##「ハードウェア」メニュー
デバイス
シミュレータ上で動作させるデバイス及びOSを選択できます。
反時計回りに回転、時計回りに回転
デバイスの回転をシミュレートできます。デバイスの向きを変えた時の動作を確認できます。
シェイクジェスチャー
デバイスを振る操作をシミュレートできます。
ホーム、ロック
ホーム画面及びロック画面へ切り替えることができます。アプリがバックグラウンドに移行した時の動作をシミュレートしたい時に役に立つでしょう。
メモリ警告をシミュレート
最前面にあるアプリケーションにメモリ不足の警告を送信できます。
着信ステータスバーを切り替える
通話中、ナビゲーション実行中、録音中などの状態ではステータスバーが2倍の高さになりますが、この状態をシミュレートできます。ステータスバーの高さが2倍になった際のユーザインターフェイスを確認できます。
ハードウェアキーボードをシミュレート
「ハードウェアキーボードをシミュレート」をオンにすることで、キーボードドックや無線キーボード等のハードウェアキーボードをシミュレートできます。(「ハードウェアキーボードをシミュレート」をオンになっている状態では、ソフトウェアキーボードが非表示になります。)
iOSでOSXと同じキーボードレイアウトを使用 (New)
iOSシミュレータ用のキーボードとして、Macのキーボード配列に最も近いものが自動的に選択されます。
テレビ出力
テレビ出力をシミュレートできます。
##「デバッグ」メニュー
最前面のAppでスローアニメーションを切り替える
アニメーションの速度を落とし、アニメーションに問題がないか確認できます。
ブレンドレイヤー (カラー)
レイヤが重なり合っている部分を目立つように表示できます。(レイヤが重なっている部分は赤くなります。) 例えばUILabelの背景色を透明(clearColor)にしている場合も赤くなります。
赤い部分をできるだけ減らすことで、描画性能を向上させることができます。
コピーイメージ (カラー)
「Core Animation」がコピーした画像の上に青色のオーバーレイが表示されるようになります。
不揃いのイメージ (カラー)
ビューのピクセル位置が小数点以下の単位でずれている場合にカラーのオーバーレイを表示させることができます。
オフスクリーンレンダリング (カラー)
オフスクリーンで描画した領域に、マゼンタをオーバーレイして表示します。
システムログを開く... (New)
コンソール.appを開くことができます。
iCloud同期をトリガー (New)
iCloud同期機能のテストが可能です。(シミュレータの設定アプリでiCloudにサインインしておく必要あり。)複数デバイスにまたがるテストも可能であり、実機でのテストを行う前にシミュレータでのテストを行うと良いようです。
なお、iCloudのテストが可能なのはiOS 7.0をシミュレート時のみのようです。
位置
経度緯度を入力し、特定の場所にいるようシミュレートすることができます。
##「ウィンドウ」メニュー
表示サイズ
Macの画面上に表示するシミュレータ画面のサイズを変更できます。
モーションコントロール (New)
(未確認です)
#その他
- iOSシミュレータには各種のコピー/ペースト機能が組み込まれており、シミュレータ内、およびシミュレータとMacの間で実行できます。
- 「command+S」でスクリーンショットを保存できます。「control+command+c」でスクリーンショットをペーストボードにコピーできます。
##シミュレータのバージョン
Xcodeのバージョンによって付属するiOSシミュレータのバージョンも異なります。
Xcodeのバージョン | 付属するiOSシミュレータのバージョン |
---|---|
Version 4.6.3 | バージョン 6.0 |
Version 5.0.2 | バージョン 7.0 |
#参考情報
iOSシミュレータ ユーザーガイド
https://developer.apple.com/jp/devcenter/ios/library/documentation/iOSSimulatorUserGuide.pdf