Приложение аварийно завершает работу при попытке получить фотографии из библиотеки фотографий с помощью средства выбора изображений.

Кто-нибудь сталкивался с этой ошибкой при попытке доступа к библиотеке фотографий с помощью средства выбора изображений?

NSInvalidArgumentException  Cannot set metadata in read-only store.

Любые советы о том, что на самом деле пошло не так, и предложения о том, как я могу решить эту проблему, будут очень признательны.

Снимок стека ошибок показан ниже

введите здесь описание изображения


person Zhen    schedule 09.10.2011    source источник
comment
Можете ли вы показать несколько строк кода, которые иллюстрируют, как вы настраиваете свой UIImagePickerController?   -  person Michael Dautermann    schedule 10.10.2011
comment
Вы поняли это? В моем случае это происходит в производстве, и у меня нет только полного журнала. NSInvalidArgumentException: невозможно установить метаданные в хранилище только для чтения. Но это случается очень редко. т.е. один раз из более чем 17000 сеансов.   -  person AmaltasCoder    schedule 14.10.2011


Ответы (2)


На форумах разработчиков есть пост, который может оказаться немного полезным (он любопытно помечен как "Конфиденциальная информация Apple"). несмотря на выпуск iOS 5).

Мы тоже видели это. Моим первым впечатлением было то, что это было связано с использованием PhotoStream без подключения к iCloud, но «recordVersion: forStore:» предполагает, что он пытается обновить библиотеку фотографий до формата 5.0 (что, по-видимому, не может сделать как непривилегированный/изолированный /etc процесс).

В дополнение к «синхронизации с iTunes» проблему могут решить следующие вещи:

  • Запуск фотографий
  • Запускаем камеру и делаем снимок

Похоже, это не было исправлено в OS 5.0.1, но количество отчетов резко сократилось, что говорит о том, что библиотеки фотографий людей в конечном итоге обновляются.

person tc.    schedule 28.11.2011

Эта проблема только для IOS5 — спрашивал Apple на форумах разработчиков, но ответа нет. Я не смог воспроизвести себя, но..

Мои бета-тестеры сообщили, что синхронизация с iTunes, по-видимому, устраняет эту ошибку, поэтому я предполагаю, что синхронизация iTunes устраняет проблему с разрешениями.

Я завернул этот код в @try/@catch, но он все еще падает :(.

- (void)showImagePicker {
 UIImagePickerController *imagePicker = [[[UIImagePickerController alloc] init] autorelease];     
 imagePicker.delegate = self;
 imagePicker.hidesBottomBarWhenPushed = YES;
 imagePicker.allowsEditing = YES;
 imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 [tabController presentModalViewController:imagePicker animated:YES];  // sometimes crash 
}

также получаю тот же сбой нечасто/невоспроизводимо для других пользователей, когда я вызываю UIImageWriteToSavedPhotosAlbum

person mr_marc    schedule 16.10.2011