[英]How do I read a pdf file in my iCloud Drive Desktop folder from within an iOS Swift app?
[英]MacOS: How/where do I store a programmatically created file within my app folder?
对 MacOS 开发来说非常新(如,全新)。 我开发了一个 MacOS 应用程序(SwiftUI / Swift),现在正在弄清楚与部署相关的事情。
我的应用程序会生成一个文本文件,但我想将其保存在应用程序的文件夹(或其他任何名称)中 - 而不是用户指定的文件夹中,并在需要时阅读它。 我可以从Assets.xcassets
中读取资源,但我也希望能够在不让用户选择位置的情况下进行保存。
有没有办法可以从应用程序文件夹中写入/读取(我很难解释,因为我对这个系统非常不熟悉)?
是的,您可以在应用程序支持文件夹中创建一个目录,使用应用程序的捆绑标识符或您的公司对其进行命名,并将用户无法访问的所有文件存储在那里:
使用此目录存储除与用户文档相关联的所有应用程序数据文件。 例如,您可以使用此目录来存储应用程序创建的数据文件、配置文件、模板或其他由应用程序管理的固定或可修改资源。 应用程序可能会使用此目录来存储最初包含在应用程序 bundle 中的资源的可修改副本。 游戏可能会使用此目录来存储用户购买并从服务器下载的新关卡。 此目录中的所有内容都应放在一个自定义子目录中,该子目录的名称是您的应用程序包标识符或您的公司的名称。
您应该花一些时间阅读文件系统基础文档
do {
let applicationSupport = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask).first!
let bundleID = Bundle.main.bundleIdentifier ?? "company name"
let appSupportSubDirectory = applicationSupport.appendingPathComponent(bundleID,isDirectory: true)
try FileManager.default.createDirectory(at: appSupportSubDirectory, withIntermediateDirectories: true, attributes: nil)
print(appSupportSubDirectory.path) // /Users/.../Library/Application Support/YourBundleIdentifier
} catch {
print(error)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.