首页 > 解决方案 > 当根进程写入值时,在哪里可以找到 userdefaults.plist 文件?

问题描述

我有一个 CLI 可执行文件(在根上下文中运行)。它的唯一目的是写入用户默认值并读取用户默认值,它的工作正常,但我无法找到此过程创建/修改的 plist 文件。我尝试在用户上下文中运行相同的进程,并且能够在 ~/Library/Preference/ServiceCheckOne.plist 中找到它创建的 plist 文件

UserDefaults.init(suiteName: 'ServiceCheckOne')?.set(100, forKey: 'check1')
let value = UserDefaults.init(suiteName: suiteName)?.integer(forKey: key)!
使用此功能后,我得到 value = 100

我从这些答案和构建中提到的所有位置搜索 plist

Mac 应用程序的 NSUserDefaults 数据存储在哪里?

定位命令也没有帮助。
我检查了最近修改的文件仍然找不到文件。
简而言之
,当 root 进程使用您的 userDefaults.set 时,需要帮助定位 ServiceCheckOne.plist 文件。\

还是因为缓存默认值和文件实际上不存在而获得价值?谢谢 Xcode 12.3 MacOs 10.15 试过默认读 | grep ServiceCheckOne 在这里也没有命中

标签: swiftmacosswiftuinsuserdefaultsuserdefaults

解决方案


推荐阅读