我有一个应该为该物理机器上的所有用户注册的macOS应用程序。我目前正在使用nsuserdefaults来存储注册信息,但这会阻止机器的其他用户使用该软件,因为nsuserdefaults是特定于用户的。
我已经研究过使用CFPreferences应用编程接口:
CFPreferencesSetValue(key,
value,
kCFPreferencesCurrentApplication,
kCFPreferencesAnyUser,
kCFPreferencesCurrentHost);但这需要root权限,我不希望应用程序需要root权限。
在不需要root权限的情况下,存储计算机所有用户的注册信息的最佳方式是什么?
发布于 2018-05-21 06:07:45
我所做的是在/Library/Application Support中创建一个文件夹,任何人都可以在我的安装程序包中的postinstall脚本中写入该文件夹。然后,应用程序可以在该文件夹中做任何它喜欢的事情,实际上,像您一样,我主要使用它来存储注册信息。
应该将该文件夹命名为应用程序的捆绑包ID,并且需要将安装程序包设置为以根用户身份运行,以便安装后配置可以在第一时间创建该文件夹。
如果您还没有安装程序包,那么您将不得不创建一个。为此,我推荐使用Packages。避免使用苹果的Package Maker工具--它太可怕了。
https://stackoverflow.com/questions/50415118
复制相似问题