iOS8之后保存图片到相册都使用了这个逼格很高的Photos框架,我在iOS9之后才开始正式使用过它。但在新项目中使用了多种版本系统测试时发现在保存图片到相册时出现了问题。测试系统为iOS8.0及iOS8.3
__block NSString *assetId = nil;
// 1. 存储图片到"相机胶卷"
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ //
// 返回PHAsset(图片)的字符串标识
assetId = [PHAssetCreateRequest creationRequestForAssetFromImage:image].placeholderForCreatedAsset.localIdentifier;
} completionHandler:^(BOOL success, NSError * _Nullable error) {
if (error) {
succeed(NO,@"保存图片到相机胶卷中失败",nil);
return;
}
}];
其中assetId获取始终为空,发现是PHAssetCreateRequest通过这个类方法创建的对象为nil。但是在iOS9.0之后不会出现这样的情况。
最后发现只要把PHAssetCreateRequest改为PHAssetChangeRequest即可,原因不知道。。
网友评论