如何将 NSData 保存为 gif 到相册

Posted

技术标签:

【中文标题】如何将 NSData 保存为 gif 到相册【英文标题】:How to save NSData as gif to Album 【发布时间】:2016-03-28 03:11:37 【问题描述】:

我在这里使用函数https://gist.github.com/westerlund/eae8ec71cdac88be7c3a 创建图像数组的 gif 文件,但返回类型为 NSData。 如何使用这些数据并将其保存到相册?

我试过UIImageWriteToSavedPhotosAlbum。它不起作用,它只保存了图像数组的第一张图像。我搜索了一个名为writeimagedatatosavedphotosalbum 的函数,但它在ios9 中已被弃用。 那么将.gif 文件保存到相册的最新方法是什么?

【问题讨论】:

你试过[NSData* writeTofile:(NSString*) path atomically:BOOL] 相册中真的支持动画 GIF 吗?您是否尝试过使用通常的 UI 保存这样的图像? 和这个***.com/questions/31845981/…相同的问题 【参考方案1】:

首先获取文件网址

guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else  return 
let fileURL = documentsDirectory.appendingPathComponent("myGifFile.gif")

将 gifData 写入文件 URL

try? gifData.write(to: fileURL)

将文件从 URL 保存到相册

phphotoLibrary.shared().performChanges (
    PHAssetChangeRequest.creationRequestForAssetFromImage(atFileURL: fileURL)
)  saved, error in
    if saved 
        print("Your image was successfully saved")
    

【讨论】:

以上是关于如何将 NSData 保存为 gif 到相册的主要内容,如果未能解决你的问题,请参考以下文章

将 GIF 图像转换为 nsdata

苹果手机怎么把微信里面的图片保存到相册

现在苹果手机可以保存动态图了吗?怎么在相册里看动态图?

iosb站保存gif

将 NSData 数组保存到 CoreData

如何将图像保存到具有来自先前视图控制器的 id 的单独相册中