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

Where to store User License Data in Mac

我有一个 windows 应用程序正在为 Mac.In windows 移植 windows 当涉及到 Mac 我不熟悉时,我将加密数据存储在 registry.But 中。

该应用程序根据 PC.So 获得许可,所有使用 Machine 的用户将能够在 windows 中使用 it.So 我将密钥存储在 HKEY\LOCAL MACHINE

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

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

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

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

有关详细信息,请参阅 The Mac Application Environment, especially Table 1-1, "Key directories for Mac apps", and File System Basics

编辑:

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

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

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