iOS シミュレータ徹底解説
iOS シミュレータを使うと、iOS デバイス実機を使わなくても、Mac 上で制作中 iOS アプリを実行できます。ここでは iOS シミュレータがどういったものかと、その扱い方について詳しく見て行きます。
iOS シミュレータの状態を変更する
iOS デバイスを使っていると、日常のさまざまな場面に応じて、画面の表示状態などが変化する場合があります。iOS シミュレータには、それらの変化を自由に再現して、それらを想定したアプリの制作を支援する機能が用意されています。
言語環境を設定する
初期状態の iOS シミュレータでは、言語環境が英語
に設定されています。日本語に対応したアプリを制作している場合は
iOS シミュレータも日本語
の環境の方が都合の良いことも多いでしょう。
iOS シミュレータの言語環境を設定する方法は、通常の iOS デバイスで設定するときと同じです。
iOS シミュレータのホーム画面を表示してSettings
アイコンをクリックします。
そして
General
→
International
→
Language
とたどり、言語環境の選択画面を表示します。
ここで日本語
を選択してDone
ボタンを押すと、日本語の言語環境で iOS シミュレータが再起動します。
設定
アイコンから一般
→言語環境
→言語
でたどれます。着信ステータスバーを表示する
たとえば iPhone で電話の通話中に何か操作を行ったりすると、ステータスバーのサイズが普段より大きく表示されます。このサイズのステータスバーを想定していないアプリでボタンが隠れたりして、操作しにくくなることがあります。
iOS シミュレータなら簡単に着信ステータスバーに切り替えられます。メニューバーから
ハードウェア
→
着信ステータスバーを切り替える
を選択すると、ステータスバーの状態が交互に切り替わります。
このごろは iPhone でネットワーク共有機能が使われることも多く、他のデバイスを接続中にもステータスバーがこの状態になるので、この機能を使って画面レイアウトを確認しておくのがおすすめです。
着信ステータスバーの切り替えは⌘
Y
でも行えます。
メモリ不足の警告をアプリに送信する
iOS デバイスでは、利用可能なメモリが不足してきたときに、起動中のアプリにメモリ不足の警告を送信する仕組みになっています。iOS シミュレータでは、この警告を意図的にアプリに伝えられるようになっています。
メモリ不足の警告を送信したい場合は、メニューバーから
ハードウェア
→
メモリ警告をシミュレート
を選択します。こうすることで、iOS シミュレータで現在アクティブになっているアプリに警告が送信されます。
⇧
⌘
M
でも送信できます。
アプリがメモリ不足の警告を受信すると、UIApplicationDelegate
の-applicationDidReceiveMemoryWarning:
メソッドや、UIViewController
の-didReceiveMemoryWarning
メソッドなどが呼び出されます。
任意の位置情報を指定する
iOS シミュレータでは、現在位置の情報を自由に設定できるようになっています。これによって、実際にその場所に移動しなくても、そこに居るものとしてアプリの検証が行えます。
位置情報の変更は、メニューバーの
デバッグ
→
位置
から行います。
ここでは、次の選択肢の中から、位置情報を指定できます。
位置 | 内容 |
---|---|
なし |
位置情報を返さないようにします。現在地を特定できない場面を想定した動作検証に利用できます。 |
位置情報をカスタマイズ... |
緯度と経度を指定して、位置情報を設定します。 |
Apple |
Apple 本社の位置情報を使用します。 |
City Bicycle Ride |
街中を自転車で移動している場面を再現します。自転車の速度で位置情報が刻々と変化します。 |
City Run |
街中を走って移動している場面を再現します。走る速度で位置情報が刻々と変化します。 |
Freeway Drive |
街中を自動車で走行する場面を再現します。位置情報が刻々と変化します。 |
iOS シミュレータの位置情報は、Xcode からも指定できます。位置情報の設定は iOS シミュレータと連動していて、それぞれで位置情報を指定したときは、最後に指定した方の情報が使用されます。
Xcode での位置情報の指定についてはXcode 5 徹底解説 for iOS/OS Xの13.9 現在位置とは異なる位置情報を与えてアプリを実行するで説明しています。
ハードウェアキーボードを接続した状態にする
実際の iOS デバイスでは、Bluetooth キーボードを接続して文字を入力できます。このとき、画面上にはソフトウェアキーボードが表示されなくなるので、普段とは違った範囲の画面が表示されることになります。
iOS シミュレータでは Bluetooth がサポートされていませんが、Mac のキーボードから文字を入力できるようになっています。あとはソフトウェアキーボードが非表示になれば、実際の iOS デバイスにハードウェアキーボードが接続されている状況を再現できます。
iOS シミュレータでは、メニューバーの
ハードウェア
→
ハードウェアキーボードをシミュレート
を選択すると、その状態を再現したり、通常の状態に戻したりできます。
⇧
⌘
K
でも行えます。