Сбой при выборе из фотоальбома iphone с использованием monotouch - PullRequest
0 голосов
/ 28 июля 2011

Мое приложение полностью падает (фатальная ошибка), показывая всю трассировку стека и «Ошибка подключения stdout и stderr. Однако странная вещь, если я не выключаю симулятор iPhone и выполняю рабочий процесс в своем приложении,во второй раз сбоев нет.

Я пробовал и PhotoLibrary, и SavedPhotosAlbum;

Когда picker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary, все работает нормально, пока не появится библиотека фотографий. При нажатии на библиотеку фотографий, чтобыпосмотрите на изображения внутри, это когда происходит сбой.

Когда picker.SourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum, альбом загружается нормально, и я даже могу выбрать изображение. После выбора изображения я могу редактировать изображение и т. д.... Как только я закончил и нажал "Выбрать", он вылетает.

Опять же, после того, как он вылетает, я могу пройти через рабочий процесс, и он проходит очень хорошо.

Это очень странно.Есть идеи?

Спасибо.

1 Ответ

2 голосов
/ 28 июля 2011

У меня была точно такая же проблема;получается, что объект ImagePickerController собирался мусором. Вы объявляете свойство внутри метода (например, событие касания кнопки?).Я обнаружил, что если я объявил свойство в начале класса, то это решило эту проблему.Пример кода:

UIImagePickerController picker;

//snip

void HandlePhotoBtnTouchUpInside(object sender, EventArgs e)
{
    picker = new UIImagePickerController();
    ImagePickerDelegate imgDel = new ImagePickerDelegate();
    picker.Delegate = imgDel;

    picker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
    PresentModalViewController(imagePicker, true);
}

Класс ImagePickerDelegate довольно прост, я только переопределил метод FinishedPickingMedia.

...