AssetsLibrary фреймворк не работает на iOS 8
Я столкнулся с проблемой на iOS 8 с платформой библиотеки ресурсов, которая, по-видимому, является ошибкой в iOS 8. Если я создаю альбом с именем «MyMedia», а затем удаляю его, то, когда я пытаюсь создать альбом снова, этот чанк кода ниже возвращает «ноль», указывая, что альбом «MyMedia» существует, хотя это не так, потому что я удалил его с помощью приложения «Фото».
__block ALAssetsGroup *myGroup = nil;
__block BOOL addAssetDone = false;
NSString *albumName = @"MyMedia";
[assetsLib addAssetsGroupAlbumWithName:albumName
resultBlock:^(ALAssetsGroup *group) {
myGroup = group;
addAssetDone = true;
} failureBlock:^(NSError *error) {
NSLog( @"failed to create album: %@", albumName);
addAssetDone = true;
}];
while (!addAssetDone) {
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05f]];
}
return myGroup; // returns nil if group has previously been created and then deleted
Этот же метод работает при создании нового альбома «MyMedia2». Кто-нибудь еще сталкивался с этой проблемой и знает об обходном пути или решении? Это единственное решение для перехода на новую платформу «Фотографии» или я здесь что-то делаю неправильно? Обратите внимание, что этот код всегда работает на iOS7.X
На самом деле, шаги по воспроизведению этой проблемы следующие:> 1. Удалите приложение, которое берет фотографии и сохраняет их в пользовательский альбом 2. Под iOS Photos удалите пользовательский альбом, в котором сохранены фотографии 3. Установите приложение 4. Если Вы делаете снимки или записываете видео с помощью приложения, которое не создает их и не сохраняет их. Если вы посмотрите в альбомах iOS Фото, пользовательский альбом не существует, и нет ни одного изображения / видео, снятых с приложением.