在我的 mac OS X 应用程序中,我使用 NSUserDefaults 在会话中存储值。此 NSUserDefaults 仅保留相应系统级用户的会话值。但现在我想使用所有系统级用户通用的会话值。如果我从管理员存储会话值,则任何系统用户都应该访问它(例如:来宾用户)。
建议您的答案以实现这一目标。
编辑内容:
我已经使用 CFPreferences 来存储所有系统用户的会话值,并参考 michael 的答案。
代码:
在 CFPreferences 中保存值
CFStringRef appID = CFSTR("com.company.test");
CFStringRef textColorKey = CFSTR("test123");
CFStringRef colorBLUE = CFSTR("BLUE");
CFPreferencesSetValue (textColorKey,
colorBLUE,
appID,
kCFPreferencesAnyUser,
kCFPreferencesCurrentHost
);
CFPreferencesSynchronize(appID,
kCFPreferencesAnyUser,
kCFPreferencesCurrentHost);
从 CFPreferences 中检索
CFStringRef textColorKey = CFSTR("test123");
CFStringRef textColor;
// Read the preference.
CFStringRef appID = CFSTR("com.company.test");
textColor = (CFStringRef)CFPreferencesCopyValue(textColorKey,
appID,
kCFPreferencesAnyUser,
kCFPreferencesCurrentHost);
但它总是检索 nil 值。请指出我在这里缺少的东西。