0

我经历了几乎所有相关的 SO 问题,谷歌搜索了很多,但我无法获得帮助。

有很多帖子和 SO 回答要使用哪些状态[UIDevice identifierForVendor],但由于用户看不到这个 ID,我想要不同的方式来唯一标识设备。

基本上我正在开发不会进入 App Store 的企业应用程序(无需担心私有 API)。我的服务器已经输入了所有用户详细信息,包括设备 ID(不知道用什么作为设备 ID)。

当设备启动应用程序时,将调用 Web 服务,它需要发送设备 ID 来验证设备。

这就是为什么我需要用户和程序员都可以看到的设备 ID。

任何帮助表示赞赏!

更新
“对用户可见”意味着用户可以在安装应用程序之前看到这个唯一的 ID,以便他/她可以将此号码发送给管理员以在服务器上注册。

如果这个唯一的 id 注册在服务器上,那么只有访问权限给应用程序,否则应用程序将无法连接到服务器。

4

3 回答 3

0

您无法再获得设备的唯一 ID。“ identifierForVendor ” 是你将得到的最好的。Apple 系统性地禁用了识别特定设备的功能。

但是,每次新安装应用程序后,“ identifierForVendor ”值也会发生变化。

欲了解更多信息,请访问

您还让我对“用户可见”这一行感到困惑,您能否更具体一点?

还有另一种方法 - 使用 icloud 套件,您可以获得当前登录的 icloud 用户帐户的唯一令牌。这是设备上的每个应用程序唯一的。

您似乎想使用唯一 IDUDID来跟踪用户,而 Apple 不喜欢这样,所以在继续之前请访问

更新:

如果 Apple 阻止使用唯一 ID 跟踪用户,那么您不应该使用它。

您只想验证服务器上的用户。最适合您的解决方案是 iCloud 令牌,

获取它并将其存储在用户默认值或钥匙串中,并在您想要的任何地方使用。

通过这种方式,如果他/她使用具有相同 iCloud 帐户的多个设备,您还可以在不同设备上跟踪单个用户。

于 2016-04-13T08:45:04.893 回答
0

您可以尝试通过服务http://get.udid.io获取设备的 UDID,然后在您的服务器上对该设备进行身份验证。

但是在此之后,您将需要在您的应用程序中获取相同的 UDID 以将其传递给服务器......可以通过特定的 URL 架构将 UDID 传递给应用程序。

你怎么看这个想法?如果你喜欢,我可以分享更多细节。

于 2016-04-13T09:36:17.043 回答
0

利用

NSString* uniqueIdentifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 
NSLog(@"UDID:: %@", uniqueIdentifier);

您必须放置一个小案例来检查应用程序是否在模拟器或设备上运行。

于 2016-04-12T17:34:57.637 回答