Objective c 用OpenUDID重放UDID这是好方法吗?

Objective c 用OpenUDID重放UDID这是好方法吗?,objective-c,ios,udid,Objective C,Ios,Udid,因此,苹果拒绝使用UDID的应用程序。有很多关于这个的帖子,但我找不到写在哪里,因为使用OpenUDID很好 那么也许有人知道苹果是否会批准这项计划? 如果OpenUDID具有UDID的所有功能 也许有人正在使用这种方法,并可以解释更多信息?我们根据设备MAC地址和捆绑标识的散列创建自己的UDID。这确保了我们可以在特定设备上唯一地识别我们的应用程序 如果您需要跨多个应用程序的唯一ID,您还可以仅基于MAC地址创建哈希 实际上,我已经写了一篇关于如何做到这一点的博客文章,并在这里提供了一些示例代

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

那么也许有人知道苹果是否会批准这项计划? 如果OpenUDID具有UDID的所有功能


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

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

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

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


似乎最简单的解决方案就是生成自己的UUID:

NSString *UUID() {
    CFUUIDRef cfuuid = CFUUIDCreate(NULL); 
    NSString *uuid =  (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid); 
    CFRelease(cfuuid);
    return uuid;
}
如果需要在整个卸载/安装周期中保持此状态,请将其放入密钥链中,如下所述:

最棒的是,这就是苹果建议你这么做的方式


祝你好运

据我所知,这是个好办法。同样,SecureUDID也在做同样的事情。通过使用OpenUDID,UDID不会改变,甚至不会重新启动应用程序或重新安装应用程序。但是,如果您更改任何输入值,如KopenudDomain或KopenudidSlotpPrefix,则它会生成新的UDID。基于它生成的名称并存储到粘贴板中。如果你重新设置了设备,它仍然是一样的。我个人对此投了赞成票。

开发人员将无法从中访问MAC地址,因此这在将来将是无用的