在多个用户上唯一标识iOS设备

在多个用户上唯一标识iOS设备,ios,iphone,objective-c,udid,Ios,Iphone,Objective C,Udid,我在这方面做了很多研究,所以请先阅读问题,然后再将其标记为类似于其他问题 我们的应用程序需要唯一地确定iPhone,这样即使用户完全擦拭手机,当他运行我们的应用程序时,我们也可以确保它是同一台设备。最重要的是,我们还需要确定多个Apple ID用户的设备,因此包含钥匙链访问和uniqueVendorID的建议可能无法在其他用户开始使用该手机时生效。正如我所读到的,从iOS 6.0开始,使用MAC地址和旧的设备UDID不再可用。我浏览了[UIDevice identifierForVendor],

我在这方面做了很多研究,所以请先阅读问题,然后再将其标记为类似于其他问题

我们的应用程序需要唯一地确定iPhone,这样即使用户完全擦拭手机,当他运行我们的应用程序时,我们也可以确保它是同一台设备。最重要的是,我们还需要确定多个Apple ID用户的设备,因此包含钥匙链访问和uniqueVendorID的建议可能无法在其他用户开始使用该手机时生效。正如我所读到的,从iOS 6.0开始,使用MAC地址和旧的设备UDID不再可用。我浏览了[UIDevice identifierForVendor],但当同一供应商的所有应用程序都已卸载时,此NSUID会发生更改

我查阅了这些资源:

由于未披露,我无法披露我的应用程序执行的工作性质,但为了澄清我的要求:


多个用户可能在同一部手机上使用我们的应用程序,我需要一种方法来知道用户a以前使用并报告已将其移交给用户B的设备是运行我们的应用程序的同一台设备。有没有办法做到这一点

没有办法做到这一点


如果在设备出厂重置后,不同的用户可能会在同一设备上使用您的应用程序,那么您想要的是不可能的。苹果公司不推荐使用UIDevice uniqueIdentifier,这是实现这一点的方法。

没有办法做到这一点


如果在设备出厂重置后,不同的用户可能会在同一设备上使用您的应用程序,那么您想要的是不可能的。苹果不推荐使用UIDevice uniqueIdentifier,这可能是实现此目的的方法。

只要他们不恢复/擦除设备标识,供应商就可以

只要他们不恢复/擦除设备标识,供应商就可以

最后一段。。。你是说不同的用户可以使用相同的设备吗?为什么?最后一段。。。你是说不同的用户可以使用相同的设备吗?为什么?正如@AspersionCast正确提到的,一旦用户从供应商删除所有应用程序,供应商的标识就会重置,因此如果供应商在设备上只有一个应用程序,那么在删除并重新安装应用程序时就会重置。正如@AspersionCast正确提到的,一旦用户从供应商中删除所有应用程序,供应商的identifierForVendor就会重置,因此,如果供应商在设备上只有一个应用程序,则在删除并重新安装应用程序时,该应用程序会重置。