如何唯一标识iOS设备而不是使用UUID和UDID

在我的iOS应用程序中,我必须限制用户使用每个设备的iOS应用程序。 为此,我find了一个解决scheme,可以使用UUID (Universally Unique Identifier)UDID (Unique Device Identifier) 。 但根据这个答案,我不能使用UUID,因为如果应用程序被删除或重新安装UUID已经被改变,我不想这个。 如果应用程序使用UDID Apple也会拒绝应用程序。

有没有什么办法来唯一标识iOS设备。

苹果已经取消了UDID的方法,并将拒绝使用相同的设备标识的应用程序。 来源: TNW

你正在寻找的是供应商ID

我为我的项目使用这个库,它的工作就像一个魅力,请尝试:

https://github.com/blackpixel/BPXLUUIDHandler

使用方便 :

导入BPXLUUIDHandler.h检索UUID

 [BPXLUUIDHandler UUID] 

就这样…

以下是来自项目的github页面的一些信息:

从iOS 5开始,Apple已经弃用了设备唯一标识符api,并没有提供友好的Obj-C替代品,而是推荐使用CFUUIDCreate和NSUserDefaults。

CFUUIDCreate不是很复杂,也不是NSUserDefaults,但是这个解决scheme在几个不同的方面失败了:

  • 获取UUID不是一次快速的一次性调用; 你必须写你自己的包装,使其友好
  • 它不会坚持; 删除应用程序吹掉UUID(如果存储在钥匙串中,可以保留)
  • 没有办法在应用程序之间分享