iOSシミュレータに画像を取込む
iOSデバイスも他のモバイルデバイスと同様、カメラで撮影した又はギャラリから選択した画像をアプリケーションで扱うことができる。(というか、iOSデバイスのが)
カメラ又はライブラリから画像を取込むための典型的なコード
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; } else { [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary]; } //UIImagePickerControllerDelegateデリゲートに応答する [imagePicker setDelegate:self]; [self presentModalViewController:imagePicker animated:YES]; [imagePicker release]; 〜 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; //イメージを扱うコードを記述 }
これで良いのだが、私のように実機が無い場合iOSシミュレータを使って実行してもカメラデバイスはシミュレータではサポートされていないので使えないし、カメラロールを覗いても何も画像が入っていないので選択のしようが無い。(当たり前だ)
せめて画像を選択することでアプリケーションのテストをすることはできないのだろうか、と思うのは私だけではないようで、既に先達の方々に試されている方法がある。
iOSシミュレータに画像を取込む方法
2. WebブラウザのモバイルSafariが起動するので、画像をロングタップする
4. 画像は"~/Library/Application Support/iPhone Simulator/[iOSバージョン]/Media/DCIM/100APPLE"に保存される※
これだけである。
アプリケーションで試してみよう。
サンプルは恒例のiOSプログラミング 第2版の13章で作られるものだ。
ツールバーからカメラのボタンをタップすると、アルバムから先ほど取込んだ画像を選択、表示することができる。
この辺、実に良くできていると感心しきりだ。
追記: いい加減にiPhone/iPod Touch/iPadの実機買えってことだよね。
※うまく表示されない場合、データベースを一度リセットする必要があるらしい。