У меня возникла странная проблема, пытаясь сохранить изображение в моем SavedPhotosAlbum с помощью ALAssetsLibrary, особенно когда я использую метод writeImageToSavedPhotosAlbum.ALASset NSURL * assetURL возвращает NULL
В основном, моя проблема в том, что NSURL возвращает null в моем блоке завершения ... нет ошибки, но URL-адрес равен null.
Вот метод:
UIImage *imageToSave = [libraryPicture imageFromCurrentlyProcessedOutput];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum:[imageToSave CGImage] orientation:ALAssetOrientationUp completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"AssetURL: %@", assetURL);
if(!error) {
NSLog(@"\t ! Error");
NSLog(@"\t Error: %@", [error localizedDescription]);
NSLog(@"\t Error code %d", [error code]);
}
if(error != nil) {
NSLog(@"\t ERROR != NIL");
NSLog(@"\t Error - Image Failed To Save With Error: %@", [error localizedDescription]);
NSLog(@"\t Error code %d", [error code]);
}
if(error == nil) {
NSLog(@"\t ERROR == NIL");
}
}];
Я использую довольно подобный метод всего несколько строк далеко (в другом переключатель случае), который работает, и она печатает URL в почти идентичный блоке завершения (хотя называется метод отличается):
[stillCamera capturePhotoAsJPEGProcessedUpToFilter:selectedFilter withCompletionHandler:^(NSData *processedJPEG, NSError *error) {
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageDataToSavedPhotosAlbum:processedJPEG metadata:stillCamera.currentCaptureMetadata completionBlock:^(NSURL *assetURL, NSError *error2) {
if (error2 != nil) {
NSLog(@"ERROR: the image failed to be written");
}
else {
NSLog(@"PHOTO SAVED FROM STILL CAMERA - assetURL: %@", assetURL);
}
}];
}];
hmmm ok, thanks Mike. Я займусь этим и отчитаюсь ... –