ユーザーがフォトライブラリから画像を選択するためにUIImagePickerControllerを使用するiPhoneアプリを作成しています。
ピッカーを使用すると、フォトライブラリから画像を正常に取得できます。
- iPhonesumulator
- 5.0.1を実行している実際のiPhone
- 5.0.1を実行している実際のiPad
- 5.1を実行している実際のiPad
- iPadシミュレーターv4.3
しかし、このアプリを次のようにテストすると、ピッカーは画像を取得できません。
- iPadシミュレーターv5.0
- iPadシミュレーターv5.1
これらの2つのテスト環境では、イメージピッカーが正常に表示されます。必要な画像をタップしても、「 [info objectForKey:UIImagePickerControllerOriginalImage]」からメソッド「-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info」を介して何も表示されません。
「情報」辞書は次のようなものです。
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
以前の5つのテスト環境では、「情報」は次のようになります。
{
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x6bb7810>";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=7632C58F-AF74-4EEB-AF17-891E35949CBA&ext=PNG";
}
UIImagePickerControllerOriginalImageが欠落していることがわかります。これが私だけなのかわかりませんか?
注:iOS5SDKでXcode4.3.2を使用しています
注2:画像を取得するためにAssetsLibraryフレームワークを使用していません。
注3(2012年8月2日追加):MountainLionがインストールされたXcode4.4にアップグレードしました。同じ問題がまだ存在します。しかし、iPad Simulator v5.0で実行すると、新しいエラーメッセージが表示されるようになりました(iPad Simulator v5.1で実行すると、エラーメッセージは表示されません)。エラーメッセージには、「名前付きサービス'com.apple.PersistentURLTranslator.Gatekeeper'が見つかりません」と表示されます。資産がダウンしているか、正しく構成されていません。物事はあなたが期待するようには機能しません。
注4(2012年11月25日追加):Xcode 4.5.2を使用しても、この問題はiPadシミュレーター5.0、5.1、および6.0に引き続き存在します。
注5(2012年3月6日追加):Xcode 4.6を使用すると、この問題はiPadシミュレーターのすべてのバージョンで引き続き発生します。