6

所以苹果拒绝使用 UDID 的应用程序。有很多关于此的帖子,但我找不到写在哪里使用 OpenUDID 很好。

所以也许有人知道苹果是否会批准这个?如果 OpenUDID 具有 UDID 的所有功能?

也许有人正在使用这种方法并且可以解释更多?

4

3 回答 3

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 建议您这样做的方式。

祝你好运!

于 2012-07-24T06:49:28.983 回答
1

我们根据设备 MAC 地址和捆绑标识符的散列创建自己的 UDID。这确保了我们可以在特定设备上唯一标识我们的应用程序。

如果您需要跨多个应用程序的唯一 ID,您也可以仅基于 MAC 地址创建哈希。

我实际上已经写了一篇关于如何做到这一点的博客文章,并在此处提供了一些示例代码:

https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid

于 2012-07-24T06:28:16.027 回答
0

据我所知,这是一个好方法。同样,SecureUDID 也是做同样事情的人。通过使用 OpenUDID,即使重新启动应用程序或重新安装应用程序,UDID 也不会改变。但是如果你更改任何输入值,如 kOpenUDIDDomain 或 kOpenUDIDSlotPBPrefix,那么它会生成新的 UDID。基于它的名称生成并存储到 PasteBoard 中。如果您重置设备也仍然相同。我个人对此投票。

于 2013-08-08T12:43:23.893 回答