gpt4 book ai didi

ios - 在主机应用程序和今日扩展程序之间共享用户生成的图像的最佳方式是什么

转载 作者:行者123 更新时间:2023-11-30 12:44:44 24 4
gpt4 key购买 nike

我知道在主应用程序和小部件之间共享数据是使用 NSUserDefaults 或 CoreData,但这两种方式都不推荐用于共享图像。要存储用户生成的图像,应用程序应使用应用程序的文档目录,但无法从小部件访问它,那么应用程序应如何与其小部件共享图像?

最佳答案

我使用共享应用程序组目录来保存图像并从容器应用程序和扩展程序访问它,这是代码。

保存图片

 public func saveImage(image:UIImage){        
let fileManager = FileManager.default
let directory = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "yourappgroup")?.appendingPathComponent("yourImagename.jpg")
let imageData = UIImageJPEGRepresentation(image, 1)
fileManager.createFile(atPath: (directory?.path)!, contents: imageData, attributes: nil)
}

获取保存的图像

public func saveImage() -> UIImage {
let fileManager = FileManager.default
if let imagePath = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "yourappgroup")?.appendingPathComponent("yourImagename.jpg").path {
if fileManager.fileExists(atPath: imagePath){
return UIImage(contentsOfFile: imagePath)
}else{
print("No Image")
return nil
}
}

关于ios - 在主机应用程序和今日扩展程序之间共享用户生成的图像的最佳方式是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41775960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com