与应用程序和扩展程序共享时,UserDefaults 数据存储在哪里?
Posted
技术标签:
【中文标题】与应用程序和扩展程序共享时,UserDefaults 数据存储在哪里?【英文标题】:Where is the UserDefaults data stored when sharing it with app and extension? 【发布时间】:2018-11-15 08:48:06 【问题描述】:我创建了一个使用“UserDefaults”来存储数据的应用程序。我正在使用应用程序组功能在主机应用程序和扩展程序之间共享数据。我在哪里可以看到其中存储的数据?
使用默认 (UserDefaults.standard) UserDefaults 时,我可以看到存储在“库 -> 首选项 -> appbundlename.plist 下的数据。
即使我从后台杀死它,应用程序仍在显示数据。(数据持续存在)
let sharedDefaults = UserDefaults(suiteName: ListManager.GroupId)
【问题讨论】:
【参考方案1】:let groupPath = FileManager().containerURL(forSecurityApplicationGroupIdentifier: ListManager.GroupId)!.appendingPathComponent("Library/Preferences")
将为您提供共享组默认值的路径。 请务必为您的应用(和扩展)启用应用组功能。否则,您的组默认值将仅显示在与标准用户默认值相同的目录中(因此在启动之间保持不变),但您的其他应用程序或扩展程序将无法访问。
【讨论】:
以上是关于与应用程序和扩展程序共享时,UserDefaults 数据存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章