所以苹果拒绝使用 UDID 的应用程序。有很多关于此的帖子,但我找不到写在哪里使用 OpenUDID 很好。
所以也许有人知道苹果是否会批准这个?如果 OpenUDID 具有 UDID 的所有功能?
也许有人正在使用这种方法并且可以解释更多?
所以苹果拒绝使用 UDID 的应用程序。有很多关于此的帖子,但我找不到写在哪里使用 OpenUDID 很好。
所以也许有人知道苹果是否会批准这个?如果 OpenUDID 具有 UDID 的所有功能?
也许有人正在使用这种方法并且可以解释更多?
似乎最简单的解决方案就是生成自己的 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 建议您这样做的方式。
祝你好运!
我们根据设备 MAC 地址和捆绑标识符的散列创建自己的 UDID。这确保了我们可以在特定设备上唯一标识我们的应用程序。
如果您需要跨多个应用程序的唯一 ID,您也可以仅基于 MAC 地址创建哈希。
我实际上已经写了一篇关于如何做到这一点的博客文章,并在此处提供了一些示例代码:
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
据我所知,这是一个好方法。同样,SecureUDID 也是做同样事情的人。通过使用 OpenUDID,即使重新启动应用程序或重新安装应用程序,UDID 也不会改变。但是如果你更改任何输入值,如 kOpenUDIDDomain 或 kOpenUDIDSlotPBPrefix,那么它会生成新的 UDID。基于它的名称生成并存储到 PasteBoard 中。如果您重置设备也仍然相同。我个人对此投票。