我可以在 Xcode 中创建一个文档目录,并通过 UI 将我的 iOS 应用程序的文件放入其中吗?如果是这样,如何?
Can I create a Documents directory in Xcode, and put files in it for my iOS app through the UI. If so, how?
我需要 read/write 少量信息以在 iOS 应用程序中持久保存数据。我正在使用 plists 并且知道我可以读取,但不能写入包。如果我最初在开发时创建 plist 文件,我如何将 plist 放在我的应用程序的 "Documents" 区域,以便它们以后可写?
简答:否
如您所说,iOS 应用程序的包不可写,但可读。
此外,应用程序的文档目录在应用程序第一次 运行(在用户的目标设备上)之前不存在。因此,您无法在编译时构建应用程序的文档目录,也无法使用预填充的文档目录将应用程序提交到应用程序商店。 (如果 Apple 让我们能够提供 "seed" 文档目录,并在首次启动时将 移动 到文档目录,那就太好了,但他们不提供该功能 - - 至少我不知道。)
您可以做的是为您的包创建一个子目录,其中包含您要放置在应用程序文档目录中的一组文件。
启动时,检查 UserDefaults
中的 "hasBeenInstalled" 标记。如果是真的,什么都不做。如果为 false,请使用文件管理器将文件从您的应用程序包中复制到应用程序的文档目录中,然后将 hasBeenInstalled=true
写入 UserDefaults
。
我需要 read/write 少量信息以在 iOS 应用程序中持久保存数据。我正在使用 plists 并且知道我可以读取,但不能写入包。如果我最初在开发时创建 plist 文件,我如何将 plist 放在我的应用程序的 "Documents" 区域,以便它们以后可写?
简答:否
如您所说,iOS 应用程序的包不可写,但可读。
此外,应用程序的文档目录在应用程序第一次 运行(在用户的目标设备上)之前不存在。因此,您无法在编译时构建应用程序的文档目录,也无法使用预填充的文档目录将应用程序提交到应用程序商店。 (如果 Apple 让我们能够提供 "seed" 文档目录,并在首次启动时将 移动 到文档目录,那就太好了,但他们不提供该功能 - - 至少我不知道。)
您可以做的是为您的包创建一个子目录,其中包含您要放置在应用程序文档目录中的一组文件。
启动时,检查 UserDefaults
中的 "hasBeenInstalled" 标记。如果是真的,什么都不做。如果为 false,请使用文件管理器将文件从您的应用程序包中复制到应用程序的文档目录中,然后将 hasBeenInstalled=true
写入 UserDefaults
。