到目前为止,我的代码使用ALAssetsLibrary来获取/保存iPhone上的图像。 目前我正在从 ALAssetsLibrary 转换为 PHPhotoLibrary 。
在迁移中,我查找了错误代码,例如: ALAssetsLibraryWriteBusyError 和 ALAssetsLibraryWriteDiskSpaceError ,但我无法做到。 当我的应用程序无法保存图像。我想通过显示错误对话框让用户知道原因。
我保存图片的代码如下所示,
- (void)savePhotoFile:(NSURL *)fileURL completion:(savePhotoFileCompletion)completion
{
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *assetChangeRequest;
assetChangeRequest = [PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:fileURL];
if (self.assetCollection) {
PHAssetCollectionChangeRequest *assetCollectionChangeRequest =
[PHAssetCollectionChangeRequest changeRequestForAssetCollection:self.assetCollection];
[assetCollectionChangeRequest addAssets:@[ [assetChangeRequest placeholderForCreatedAsset] ]];
}
}
completionHandler:^(BOOL success, NSError *_Nullable error) {
DBGLog(@"success=%@, error=%@", (success ? @"YES" : @"NO"), error);
completion(success, error);
}];
}
有没有人知道PHPhotoLibrary中相应的错误代码? 我非常感谢有关此问题的任何信息。
答案 0 :(得分:0)
+ creationRequestForAssetFromVideoAtFileURL:
用于视频。我认为你应该使用
+ creationRequestForAssetFromImageAtFileURL:
代替。