Joe*_* 89 0 xamarin.ios ios xamarin
我有一个要求,其中我不应允许用户在超过 1 台设备上安装我的应用程序。这是一个企业应用程序,我使用企业开发人员帐户分发它。根据Google搜索,我使用IdentifierForVendor来获取唯一的设备ID,但这现在似乎不起作用,因为当用户再次在同一设备中卸载并安装新/相同版本的应用程序时,它会返回新的DeviceID。现在我回到我的老问题 - 如何找到 IOS 的 DeviceID?
我认为一种可能的方法是在用户卸载应用程序时停用 DeviceID。但我不确定如何实现这一点,因为卸载应用程序时没有循环/函数调用。
Apple 文档称,如果从设备上卸载来自同一供应商的所有应用程序,则在重新安装该供应商的任何应用程序时将采用新的IdentifierForVendor。
因此,我建议将此唯一 ID 存储在钥匙串中,每当您打开应用程序时,检查钥匙串中是否存储有任何唯一 ID,如果没有,则生成一个并将其保留在那里。
如果应用程序也被卸载,密钥仍然存在。
重新安装应用程序后,当您访问钥匙串中的密钥时,它仍然存在。
这样您就可以实现唯一跟踪设备的目标。
说到钥匙串,值得看看Xamarin.Essentials Nuget。它提供了包括钥匙串在内的许多跨平台功能。
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
2223 次 |
| 最近记录: |