你可以偷偷地使用未记录的 PHAsset.ALAssetURL财产† ,但我正在寻找记录的东西.
†在Objective-C中,这将有所帮助
@interface PHAsset (Sneaky)
@property (nonatomic, readonly) NSURL *ALAssetURL;
@end
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现将捕获的照片保存到本文后面的自定义相册的功能.
albumChangeRequest!.addAssets([assetPlaceholder])
Run Code Online (Sandbox Code Playgroud)
NSFastEnumeration的上下文类型不能用作Array Literal
我正在尝试将 UIImage 保存到相机胶卷。苹果提出的UIImageWriteToSavedPhotosAlbum过时,所以我使用的(同为避免ALAssets),该部队使用PhotoLibrary。
这是我正在使用的代码:
定义:
var rollCollection : PHAssetCollection!;
Run Code Online (Sandbox Code Playgroud)
初始化:
let result = PHAssetCollection.fetchAssetCollectionsWithType(.SmartAlbum, subtype: .SmartAlbumUserLibrary, options: nil);
rollCollection = result.firstObject as? PHAssetCollection;
Run Code Online (Sandbox Code Playgroud)
保存图片的代码:
if (rollCollection != nil){
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(
self.originalImg!);
let albumChangeRequest = PHAssetCollectionChangeRequest(forAssetCollection: self.rollCollection!);
let assetPlaceHolder = assetRequest.placeholderForCreatedAsset;
albumChangeRequest!.addAssets([assetPlaceHolder!])
}, completionHandler: { success, error in
dispatch_async(dispatch_get_main_queue(), {
print ("\(error!)");
if (!success){
self.presentViewController(self.alertCantSave!, animated: false, completion: nil);
}
else {
self.presentViewController(self.alertSaved!, animated: false, completion: nil);
}
});
})
}
else …Run Code Online (Sandbox Code Playgroud)