如何以编程方式修改com.apple.finder的同步首选项?

时间:2019-10-15 21:46:06

标签: swift macos cfpreferences

我试图找出是否有可能以编程方式修改Finder标记,这些标记存储在〜/ Library / SyncedPreferences / com.apple.finder.plist 中。

首先,我尝试使用PropertyListSerialization读取文件,更新值,然后在目标位置替换文件。但是,文件的更新版本始终会重置为原始版本。我相信是因为 cfprefsd

然后,我使用了CFPreferences API。但是,CFPreferencesCopyAppValueCFPreferencesCopyValue对于键 FinderTags 和appID com.apple.finder 返回nil。如果我使用〜/ Library / Preferences / com.apple.finder.plist 中的密钥,则可以使用CFPreferencesCopyAppValue进行读取。

这是我尝试过的:

let appPref = CFPreferencesCopyAppValue("FinderTags" as CFString, "com.apple.finder" as CFString)->返回nil

let appPref = CFPreferencesCopyAppValue("FinderTags" as CFString, "~/Library/SyncedPreferences/com.apple.finder" as CFString)->返回nil

let appPref = CFPreferencesCopyValue("FinderTags" as CFString, "com.apple.finder" as CFString, kCFPreferencesAnyUser, kCFPreferencesAnyHost)->返回nil

let appPref = CFPreferencesCopyValue("FinderTags" as CFString, "~/Library/SyncedPreferences/com.apple.finder" as CFString, kCFPreferencesAnyUser, kCFPreferencesAnyHost)->返回nil

let appPref = CFPreferencesCopyAppValue("FavoriteTagNames" as CFString, "com.apple.finder" as CFString)->返回[“”,“红色”,“橙色”,“黄色”,“绿色”,“紫色”,“灰色”]

是否可以修改存储在SyncedPreferences中的com.apple.finder.plist?

0 个答案:

没有答案