Обновленный/перефразировать вопрос:ALAssetsLibrary-CustomPhotoAlbum ИОС 8
В моем проекте я использую ALAssetsLibrary-CustomPhotoAlbum. Хотя он отлично работал на iOS 7, я никогда не замечал при кодировании для iOS 8, это закончилось нарушением. Сломанный, поскольку не удается воссоздать папки, которые были удалены с тем же именем.
Он создаст папку, если она начнется как новый процесс, если вы откроете приложение и попросите разрешение на фото.
Мой текущий код все еще сохраняет фото к указанной папке, если я создаю папку вручную:
[self.library saveImage:image toAlbum:@"NamedAlbum" withCompletionBlock:^(NSError *error) {
if (error!=nil) {
NSLog(@"Big error: %@", [error description]);
}
}];
То, что я застрял на следующий:
[self.library saveImage:image toAlbum:@"NamedAlbum" completion:nil failure:^(NSError *error) {
if (error!=nil) {
NSLog(@"Big error: %@", [error description]);
}
}];
Оказывается, она изменила процесс завершения/отказа, и я не могу понять это.
Что мне нужно сделать, чтобы связать их с библиотекой?
Любая помощь будет оценена по достоинству.
ОБНОВЛЕНИЕ 12/22 Кажется, я опередил себя, отправляя свой ответ, это работает только иногда. Будут продолжать копать.
// The completion block to be executed after image taking action process done
void (^completion)(NSURL *, NSError *) = ^(NSURL *assetURL, NSError *error) {
if (error) NSLog(@"!!!ERROR, write the image data to the assets library (camera roll): %@",
[error description]);
NSLog(@"*** URL %@ | %@ || type: %@ ***", assetURL, image, [assetURL class]);
};
void (^failure)(NSError *) = ^(NSError *error) {
if (error == nil) return;
NSLog(@"!!!ERROR, failed to add the asset to the custom photo album: %@", [error description]);
};
[self.assetsLibrary saveImage:image
toAlbum:albumName
completion:completion
failure:failure];