UIImagePicker, созданный с SDK 4.3, «зависает» на iOS 4.2 - PullRequest
3 голосов
/ 03 августа 2011

Кто-нибудь испытывал проблему с UIImagePickerControllerSourceTypeCamera, созданной с помощью SDK 4.3 «Зависание» на устройствах под управлением iOS 4.2?

В моем приложении пользователи под управлением iOS 4.3 могут открывать UIImagePicker и делать фотографии.Если пользователь использует iOS 4.2, UIImagePicker загружается и показывает «изображение затвора», но приложение зависает, и «затвор» никогда не открывается, чтобы отобразить вид камеры.Изображение экрана здесь: http://dl.dropbox.com/u/20056106/ImagePicker_Stuck.png

CrashLog не создается, потому что приложение просто зависло в ImagePicker.«Кнопка отмены» и «Кнопка камеры» в ImagePicker не включены, поэтому отменить выбор ImagePicker невозможно.

Кто-нибудь сталкивался с подобными проблемами?

Спасибо,

Курт

Ответы [ 3 ]

5 голосов
/ 16 октября 2011

У меня была проблема, похожая на вашу, которую я исправил.

В моем случае зависание происходило только при запуске моего приложения на симуляторе iPhone 5.0. Если я запускал приложение на iPhone 4.3, симулятор UIImagePicker работал нормально.

Проблема заключалась в том, как я закрывал UIImagePickerController.

Исходный код в моем методе делегата UIImagePickerController

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{

    // Incorrect way of dismissing the uiImagepickerController
    // [[picker parentViewController] dismissModalViewControllerAnimated: YES];

    // Correct way of dismissing
    [self dismissModalViewControllerAnimated: YES];

    [picker release];
}    
0 голосов
/ 28 октября 2011

Исходя из ответа Омила, проверьте правильность этих двух вещей:

  1. Ваш UIImagePickerController представитель не является nil (если это nil, то как вы можете его отклонить?)
  2. Контроллер вида, которому вы звоните dismissModalViewControllerAnimated on для отклонения UIImagePickerController, не nil, а тот же, на котором вы в первую очередь представляли контроллер сборщика с помощью presentModalViewController.

Проблема с XCode4.2 состоит в том, что он стал причиной сбоя точки 2 ([picker parentViewController] раньше был допустимым способом получения родительского контроллера представления, но теперь он равен nil), поэтому исправление Omil работает для этого конкретного случая .

0 голосов
/ 04 августа 2011

Обновите ваше устройство или опубликуйте свой журнал. Попробуйте перезагрузить устройство и закрыть все остальные приложения из фона. это должно это исправить.

...