我浏览了几乎所有相关的问题,谷歌了很多,但我找不到帮助。
有很多帖子,所以答案都是使用[UIDevice identifierForVendor]的,但是由于这个Id对用户来说是不可见的,所以我想要不同的方式来唯一地识别设备。
基本上,我正在开发企业应用程序,它不会去APIs(不需要担心私有API)。我的服务器已经输入了所有用户的详细信息,包括设备id(不知道作为设备id使用什么)。
当设备启动应用程序时,web服务将被调用,它需要发送设备id来验证设备。
这就是为什么我需要设备id,它将对用户和程序员都是可见的。
任何帮助都很感谢!
更新
‘'Visible to user’意味着用户在安装应用程序之前可以看到这个唯一的id,所以他/她可以将这个号码发送给管理员,以便在服务器上注册它。
如果这个唯一的id被注册在服务器上,然后只有访问将给予应用程序,否则应用程序将不会连接到服务器。
发布于 2016-04-12 17:34:57
使用
NSString* uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
NSLog(@"UDID:: %@", uniqueIdentifier);你必须放一个小箱子来检查这个应用程序是否运行在模拟器或设备上。
发布于 2016-04-13 08:45:04
您无法再获得唯一的设备ID。"identifierForVendor“是你能得到的最好的。苹果已经系统地禁用了识别特定设备的功能。
但是,在每次安装应用程序之后,"identifierForVendor“值也会发生变化。
有关更多信息,参观。
你也把我和这行“用户可见”搞混了,能不能请你说得更具体些?
还有一种方法--使用icloud工具包,您可以获得当前登录icloud用户帐户的唯一令牌。这对于设备上的每个应用程序来说都是唯一的。
似乎你想用、唯一ID、或、UDID、来跟踪用户,苹果不喜欢这样,所以在继续前进之前,请参观。
更新:
如果苹果阻止使用唯一的Id跟踪用户,那么你就不应该使用它了。
您只需要在服务器上验证用户。最好的解决方案是iCloud令牌,
获取它并将其存储在用户默认值或密钥链中,并在任何您想使用的地方使用。
通过这种方式,您还可以跟踪不同设备上的单个用户,如果他/她使用的是具有相同iCloud帐户的多个设备。
发布于 2016-04-13 09:36:17
您可以尝试通过服务http://get.udid.io获得设备的UDID,然后在服务器上验证此设备。
但是在此之后,您需要在应用程序中获得相同的UDID才能将其传递给服务器.可以通过特定的URL模式将UDID传递给app。
你觉得这个主意怎么样?如果你喜欢,我可以分享更多的细节。
https://stackoverflow.com/questions/36578945
复制相似问题