所以苹果拒绝使用UDID的应用程序。这里有很多帖子,但是我找不到写的地方,使用OpenUDID是好的。
所以也许有人知道苹果会批准这个吗? 如果OpenUDID具有UDID的所有功能?
也许某人正在使用这种方法并可以解释更多?
答案 0 :(得分:5)
似乎最简单的解决方案就是生成自己的UUID:
NSString *UUID() {
CFUUIDRef cfuuid = CFUUIDCreate(NULL);
NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid);
CFRelease(cfuuid);
return uuid;
}
如果您需要在卸载/安装周期中保留此项,请按照此处所述将其放入钥匙串中:https://stackoverflow.com/a/11597291/382374
最好的,这就是Apple建议您这样做的方式。
祝你好运!答案 1 :(得分:1)
我们根据设备MAC地址和包标识符的哈希值创建自己的UDID。这可确保我们可以在特定设备上唯一标识我们的应用。
如果您需要跨多个应用的唯一ID,您还可以仅根据MAC地址创建哈希值。
我实际上写了一篇关于如何做到这一点的博文,并在这里提供了一些示例代码:
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
答案 2 :(得分:0)
据我所知,这是好方法。类似地,SecureUDID也是做同样的事情。通过使用OpenUDID,UDID不会改变甚至重新启动应用程序或重新安装应用程序。但是如果你改变任何输入值,如kOpenUDIDDomain或kOpenUDIDSlotPBPrefix,那么它会生成新的UDID。基于名称,它是生成并存储到PasteBoard中。如果你重置设备也一样。我个人投票支持。