![](/img/trans.png)
[英]Sharing Image on instagram using anyone sdk Or PHPhotolibrary?
[英]How to export image to phone gallery using PHPhotoLibrary
要將圖像導出到手機庫,我嘗試使用ALAssetsLibrary,但Xcode 8.0告訴我該方法已棄用,我應該使用PHPhotoLibrary。 當我使用ALAssetsLibrary時,方法看起來像這樣:
#import <AssetsLibrary/AssetsLibrary.h>
-(void)exportToGallery{
ALAssetsLibrary *assetsLib = [ALAssetsLibrary new];
[assetsLib writeImageToSavedPhotosAlbum:image
metadata:[image properties];
completionBlock:nil;
}
如何使用PHPhotoLibrary獲得相同的效果?
有辦法做到這一點。
目標C.
導入照片框架
#import <Photos/Photos.h>
然后制作你的形象
UIImage * image = [UIImage imageNamed:@"DP.jpg"];
然后保存圖像。 圖像將保存到相機膠卷 。
這與writeImageToSavedPhotosAlbum
的ALAssetsLibrary
相同
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
[PHAssetChangeRequest creationRequestForAssetFromImage:image];
} completionHandler:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"Image Saved");
}
else {
NSLog(@"error in saving image : %@",error);
}
}];
確保照片權限為ON 。 此外,如果您已創建Xcode 8的項目,則需要在Info.plist
添加一個鍵
<key>NSPhotoLibraryUsageDescription</key>
<string>Use Photos</string>
您還可以使用creationRequestForAssetFromImage
方法,不僅可以使用UIImage,還可以使用圖像URL。
這些是您可以從Photos Framework使用的方法。
+ (instancetype)creationRequestForAssetFromImage:(UIImage *)image;
+ (nullable instancetype)creationRequestForAssetFromImageAtFileURL:(NSURL *)fileURL;
+ (nullable instancetype)creationRequestForAssetFromVideoAtFileURL:(NSURL *)fileURL;
Swift 3.0
let image = UIImage(named: "DP.jpg")
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAsset(from: image!)
}) { (success:Bool, error:Error?) in
if success {
print("Image Saved Successfully")
} else {
print("Error in saving:"+error.debugDescription)
}
}
Photos Framework for Swift的其他方法是:
open class func creationRequestForAsset(from image: UIImage) -> Self
open class func creationRequestForAssetFromImage(atFileURL fileURL: URL) -> Self?
open class func creationRequestForAssetFromVideo(atFileURL fileURL: URL) -> Self?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.