ios 8 照片框架 - 替换不工作的照片

标签 ios photos ios8

我正在使用新的 iOS 8 照片框架,尝试编辑图库中的现有照片,然后替换它,但它没有被替换,即使我可以看到我设置的所有成功日志消息。

这是我的代码:

UIImage *output = [self.imageView.image appendDateWithLabel:label];
self.imageView.image = output;

// self.info was retrieve by the UIImagePickerController delegate method
NSURL *assetURL = self.info[UIImagePickerControllerReferenceURL];
PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[assetURL] options:nil];
PHAsset *asset = result.firstObject;
if ([asset canPerformEditOperation:PHAssetEditOperationContent])
{
    [asset requestContentEditingInputWithOptions:nil completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {

        PHContentEditingOutput *contentEditingOutput = [[PHContentEditingOutput alloc] initWithContentEditingInput:contentEditingInput];
        NSData *outputData = UIImagePNGRepresentation(output);
        BOOL wrote = [outputData writeToURL:contentEditingOutput.renderedContentURL options:NSDataWritingAtomic error:nil];

        if (wrote)
        {
            [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
                PHAssetChangeRequest *request = [PHAssetChangeRequest changeRequestForAsset:asset];
                request.contentEditingOutput = contentEditingOutput;

            } completionHandler:^(BOOL success, NSError *error) {
                // console output : 1
                NSLog(@"success : %@", @(success));
                // console output : nil
                NSLog(@"error : %@", error);
            }];
        }
    }];
}

我没有尝试替换,而是尝试创建修改后的副本。这个效果很好,我可以在我的图库中看到新修改的照片。

有人已经遇到过这个问题吗?

最佳答案

似乎必须填写 PHContentEditingOutput 对象的 adjustmentData 属性才能编辑照片。

PHAdjustmentData *adjustmentData = [[PHAdjustmentData alloc] initWithFormatIdentifier:@"AdjustementDataIdentifier" formatVersion:@"1.0" data:nil]

关于ios 8 照片框架 - 替换不工作的照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24385846/

相关文章:

ios - 在主应用程序窗口中显示警报 Controller ?

iphone - iOS 按住手势 + 点击

iOS 如何像在 iPhone 照片应用程序中那样在照片之间的日期 Collection View 中放置标题

ios - 如何从库中获取所有照片

ios - 如何使用 Swift 3 获取扫描的条形码照片?

ios - 如何在 Swift 中将 ImageView 从左向右移动

image - 检测照片与渲染图像

ios - 正确初始化 PHAssetCollection

ios - 未在 UITableView 中调用 scrollviewDidEndDragging

keyboard - XCode 6.1 iOS 8键盘十进制垫不正确