如何在IOS中将识别字符串看作IMEI

时间:2018-06-03 15:56:16

标签: ios swift

我的项目有一个案例:一个帐户用户只能登录到一个设备(如果用户登录到设备A中的应用程序,用户无法登录到设备B中的应用程序)。我的想法是:当用户登录时,我将获得imei Iphone(如android)并通过请求登录发送给服务器。但我不能得到imei。我尝试使用UUID,但重新安装应用程序时UUID会更改。钥匙串无法解决问题。请帮帮我。

2 个答案:

答案 0 :(得分:1)

您必须使用钥匙串存储唯一ID,即使用户删除应用

也不会更改

您可以使用任何包装器源代码来执行此操作

这是一个例子 https://github.com/Joe0708/KeychainUUID

答案 1 :(得分:1)

一开始我想提一下,我不知道任何直接回答你问题的方法,特别是由于隐私问题,Apple不允许你阅读IMEI和其他类似的东西。已经回答here.

解决方法可能如下

查看UIDevice课程,尤其是identifierForVendorProperty为您提供(根据documentation)设备特定值。

  

对于来自同一设备上运行的同一供应商的应用,此属性的值相同。对于来自不同供应商的同一设备上的应用程序以及不同供应商的不同设备上的应用程序,将返回不同的值。

据我所知,一些财务应用程序以这种方式受到保护,只允许一台设备访问该帐户。但是,这需要在每次重新安装应用程序时注册设备。

或者,您可以使用在应用程序中生成的UUID(首次运行),然后在线为用户分配。它可能采用类似于两步验证过程的形式。但请注意,有了这些限制,用户必须始终在线使用您的应用程序。