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即可,原因不知道。。