我在由PHContentEditingOutput
提供的URL创建了一个图像。当我将数据加载到UIImage
并按照以下方式保存时,它可以正常工作。
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
NSData *data = [NSData dataWithContentsOfURL:contentEditingOutput.renderedContentURL]
UIImage *image = [UIImage imageWithData:data];
[PHAssetChangeRequest creationRequestForAssetFromImage:image];
} completionHandler:^(BOOL success, NSError *error) {
...
}];
但是当我尝试通过url访问时失败:
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
[PHAssetChangeRequest creationRequestForAssetFromImageAtFileURL:contentEditingOutput.renderedContentURL];
} completionHandler:^(BOOL success, NSError *error) {
...
}];
错误:
错误域=NSCocoaErrorDomain Code=-1 "无法完成操作。 (Cocoa 错误-1。)"
更新:
当我尝试保存修改时出现相同的错误。
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetChangeRequest *request = [PHAssetChangeRequest changeRequestForAsset:asset];
request.contentEditingOutput = contentEditingOutput;
} completionHandler:^(BOOL success, NSError *error) {
...
}];
这种方法适用于视频(creationRequestForAssetFromVideoAtFileURL:
),但不适用于图片。出了什么问题?
renderedContentURL
是你应该写入的内容,而不是你应该从中读取的内容吗? - matt