首页 > 解决方案 > 如何快速从“默认值”中读取值?

问题描述

目标

我想通过命令行工具控制应用程序的行为,比如启用一些测试功能。然后我想也许我可以defaults tool用来设置应用程序可以读取的配置。

以下是我尝试过的:

在命令行中

defaults write com.my.app enableFeature2 -bool true

在应用程序中

let userDefaults = UserDefaults.standard
userDefaults.addSuite("com.my.app")
let val = userDefaults.value(forKey: "enableFeature2")

print(val) // got a nil

预期用途

let bEnableFeature2 = (val as? Bool) ?? false
if bEnableFeature2 {
     enableFeature2();
}

实际的

The `val` from userDefaults is `nil`

在应用程序的 UserDefaults 中,它似乎无法找到 plist 并从中读取 nil 。我想我可能做错了什么或错过了什么。

命令发出后,会在com.my.app.plistdefaults处生成一个 plist 文件,其内容为.~/Library/Preferences/Root { enableFeature2/Boolean/YES }

我应该如何桥接命令行和应用程序之间的交互?

--

其他

标签: swiftmacos

解决方案


推荐阅读