1

我的公司有 10 台 IOS 设备,主要是运行 IOS 6 的 ipad。我有一个服务器,我在其中为我的设备创建了适当的 Web 服务以与之通信。我希望通过仅允许经过验证的设备访问 Web 服务来扩展当前设置。

我已经考虑将 UDID 作为额外属性传递给 Web 服务器,然后该服务器将针对包含加密 UDID 的数据库运行,如果找到匹配项,则验证设备并允许 Web 服务进程继续。

但是我知道UDID现在已经贬值了。我可以为每个设备实现一个唯一的 UDID 的最简单方法是什么,这也适用于未来的内部应用程序更新?

4

3 回答 3

2

为什么不创建一个标准的登录系统,让用户使用用户名和密码登录设备,然后服务器返回一个可用于验证未来交互的证书?当您只需要登录时,为什么要将用户限制在特定设备上。最终结果 - 限制哪些用户可以使用系统 - 仍然可以实现,但以更灵活和可扩展的方式实现。

于 2012-12-31T16:28:06.557 回答
1

使用 UIDevice identifierForVendor 来识别 iOS6 下的设备。

[[UIDevice currentDevice] identifierForVendor]

来自Apple docs:“对于来自同一供应商在同一设备上运行的应用程序,此属性的值是相同的。对于来自不同供应商的同一设备上的应用程序以及不同设备上的应用程序,返回不同的值供应商的。”

我使用的另一种方法是在服务器上生成 UUID,通过电子邮件将其发送给用户,并使用 URL 方案打开应用程序,然后应用程序将其保存在钥匙串中。钥匙串在应用程序删除/重新安装时保存 UUID。

于 2012-12-31T14:27:21.950 回答
0

使用设备的 MAC 地址。它不违反 Apple 政策,并且永远不会改变。

于 2012-12-31T14:38:43.670 回答