用OpenUDID替换UDID是一种好方法吗?

Str*_*boy 6 objective-c udid ios

所以苹果拒绝使用UDID的应用程序.这里有很多帖子,但是我找不到写的地方,使用OpenUDID是好的.

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

也许某人正在使用这种方法,可以解释更多?

Eri*_*rik 5

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

NSString *UUID() {
    CFUUIDRef cfuuid = CFUUIDCreate(NULL); 
    NSString *uuid =  (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid); 
    CFRelease(cfuuid);
    return uuid;
}
Run Code Online (Sandbox Code Playgroud)

如果您需要在卸载/安装周期中保持这一点,请将其放在钥匙串中,如下所述:https://stackoverflow.com/a/11597291/382374

最棒的是,这就是Apple建议您这样做的方式.

祝好运!


rad*_*six 1

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

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

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

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

  • 从 [iOS 7](http://techcrunch.com/2013/06/14/ios-7-eliminates-mac-address-as-tracking-option-signaling-final-push-面向-apples-own-ad-identifier-technology/),所以这在将来将毫无用处 (5认同)