在Mac中存储用户许可证数据的位置

时间:2015-03-24 17:31:21

标签: macos registry licensing

我有一个Windows应用程序移植到Mac.In Windows我将加密数据存储在注册表中。但是当涉及到Mac我不熟悉。

应用程序按PC许可。因此,所有使用本机的用户都可以使用它。所以在Windows中我将密钥存储在HKEY\LOCAL MACHINE

用户访问权限如何在Mac中运行?我需要在哪里存储数据?

1 个答案:

答案 0 :(得分:2)

此类数据通常存储在Application Support目录中的文件中。如果要为所有用户存储一个文件,则应选择/Library/Application Support系统目录。

该目录不是用户可写的,因此您必须以root权限运行installer。沙盒应用程序无法使用此目录。

您应该在此目录中创建一个子文件夹并将文件存储在其中。

有关详细信息,请参阅The Mac Application Environment,尤其是表1-1,“Mac应用程序的关键目录”和File System Basics

修改

通常OS X应用程序不需要任何安装。它们是独立的捆绑包,可以从任何位置运行。通常将它们保存在Applications文件夹中(将其拖到那里)。系统范围/Applications文件夹可供所有用户访问。每个用户的家中还有私人~/Applications文件夹。

另一方面,需要将数据安装到系统文件夹的应用程序使用安装程序。安装程序通常将应用程序包复制到/Applications文件夹,但也处理身份验证并向用户请求管理员凭据。安装人员也可以运行脚本。

也许您的许可证可以在安装过程中由脚本生成? 如果没有,则必须在首次运行应用程序时生成许可证文件。在这种情况下,如果要为/Library/Application Support中的所有用户保留一个文件,则必须升级权限并要求用户输入管理员权限。如果您不想这样做,请考虑在其主~/Library/Application Support文件夹中为每个用户存储单独的许可文件。