-1

デバイスライブラリから写真を選択しようとすると、ユニバーサルアプリに取り組んでいます

iPad SIGABRTエラーが発生しますが、iPhoneでは正常に動作します

   picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
   [self presentViewController:picker animated:YES completion:nil];  //the culprit, why?

事前に助けてくれてありがとう!

4

2 に答える 2

1

のドキュメントをお読みくださいUIImagePickerViewController:

この表は、iPad で、UIImagePickerControllerSourceTypePhotoLibraryまたはのソース タイプを指定する場合、クラス リファレンスUIImagePickerControllerSourceTypeSavedPhotosAlbumの「ポップオーバーの表示と非表示」で説明されているように、ポップオーバー コントローラーを使用してイメージ ピッカーを表示する必要があることを示しています。UIPopoverController保存された写真や動画を選択するためにイメージ ピッカーをモ​​ーダル (フルスクリーン) で表示しようとすると、システムは例外を発生させます。

iPad では、ソース タイプを に指定するとUIImagePickerControllerSourceTypeCamera、イメージ ピッカーをモ​​ーダル (フルスクリーン) またはポップオーバーを使用して表示できます。ただし、Apple では、カメラ インターフェイスのみをフルスクリーンで表示することをお勧めしています。

UIPopoverControlleriPad でフォト ライブラリのイメージ ピッカーを表示するには、 を使用する必要があります。

于 2013-03-23T16:28:55.060 に答える
0
        // While showing UIImagePickerController in iPad, you must do it using UIPopoverController as follow 


        // Declare UIPopoverController and present your UIImagePickerController using it
        UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
        [imagePicker setDelegate:self];
        [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
        [imagePicker setAllowsEditing:YES];

        popOverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
        [popOverController presentPopoverFromRect:self.view.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
于 2013-03-23T17:32:06.517 に答える