У меня возникла проблема с iOS 8 с базой библиотек объектов, которая, как представляется, является ошибкой в iOS 8. Если я создаю альбом под названием "MyMedia", а затем удалю его, тогда, когда я снова попытаюсь создать альбом, этот фрагмент кода ниже возвращает "nil", указывающий, что альбом "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" удалите пользовательский альбом, в котором были сохранены фотографии. 3. Установите приложение 4. Если вы снимаете или записываете видео с помощью приложения, оно не создает их и не сохраняет. Если вы просматриваете альбомы iOS Photos, пользовательский альбом один не существует, и ни одно из изображений/видео, снятых с помощью приложения, не существует.