So apple is rejecting apps which uses UDID. There are lots of posts on this, but i can't find where is written is it's good to use OpenUDID.
所以苹果拒绝使用UDID的应用程序。这里有很多帖子,但是我找不到写的地方,使用OpenUDID是好的。
So maybe someone know if apple will approve this ? If OpenUDID has all features as UDID ?
所以也许有人知道苹果会批准这个吗?如果OpenUDID具有UDID的所有功能?
Maybe someone is using this approach and could explain more ?
也许有人正在使用这种方法,可以解释更多?
3 个解决方案
#1
5
Seems like the easiest solution is to just generate your own UUID:
似乎最简单的解决方案是生成您自己的UUID:
NSString *UUID() {
CFUUIDRef cfuuid = CFUUIDCreate(NULL);
NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid);
CFRelease(cfuuid);
return uuid;
}
If you need to keep this across uninstall/install cycles, put it in the keychain as described here: https://*.com/a/11597291/382374
如果您需要在卸载/安装周期中保持这一点,请将其放在钥匙串中,如下所述:https://*.com/a/11597291/382374
Best thing, this is how Apple suggests you do it.
最棒的是,这就是Apple建议您这样做的方式。
Good luck!
祝你好运!
#2
1
We create our own UDIDs based on a hash of the device MAC address and the bundle identifier. This ensures that we can uniquely identify our app on a specific device.
我们基于设备MAC地址和包标识符的哈希创建自己的UDID。这可确保我们可以在特定设备上唯一标识我们的应用。
You could also create a hash based only on the MAC address if you need a unique ID across multiple apps.
如果您需要跨多个应用程序的唯一ID,您还可以仅基于MAC地址创建哈希。
I've actually written a blog post about how to do this and provided some sample code here:
我实际上写了一篇关于如何做到这一点的博客文章,并提供了一些示例代码:
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
#3
0
As per my knowledge it is good way. Similarly SecureUDID is the one also doing same thing.By Using OpenUDID the UDID is not changing even restart the app or reinstall the application.But if u change any input values like kOpenUDIDDomain or kOpenUDIDSlotPBPrefix then it generates new UDID.Based upon the names it is generating and storing into PasteBoard. If you reset the device also still same.I personally vote for this.
据我所知,这是好方法。类似地,SecureUDID也是做同样的事情。通过使用OpenUDID,UDID不会改变甚至重新启动应用程序或重新安装应用程序。但是如果你改变任何输入值,如kOpenUDIDDomain或kOpenUDIDSlotPBPrefix,那么它会生成新的UDID。基于名称,它是生成并存储到PasteBoard中。如果您重置设备也仍然相同。我个人投票支持。
#1
5
Seems like the easiest solution is to just generate your own UUID:
似乎最简单的解决方案是生成您自己的UUID:
NSString *UUID() {
CFUUIDRef cfuuid = CFUUIDCreate(NULL);
NSString *uuid = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, cfuuid);
CFRelease(cfuuid);
return uuid;
}
If you need to keep this across uninstall/install cycles, put it in the keychain as described here: https://*.com/a/11597291/382374
如果您需要在卸载/安装周期中保持这一点,请将其放在钥匙串中,如下所述:https://*.com/a/11597291/382374
Best thing, this is how Apple suggests you do it.
最棒的是,这就是Apple建议您这样做的方式。
Good luck!
祝你好运!
#2
1
We create our own UDIDs based on a hash of the device MAC address and the bundle identifier. This ensures that we can uniquely identify our app on a specific device.
我们基于设备MAC地址和包标识符的哈希创建自己的UDID。这可确保我们可以在特定设备上唯一标识我们的应用。
You could also create a hash based only on the MAC address if you need a unique ID across multiple apps.
如果您需要跨多个应用程序的唯一ID,您还可以仅基于MAC地址创建哈希。
I've actually written a blog post about how to do this and provided some sample code here:
我实际上写了一篇关于如何做到这一点的博客文章,并提供了一些示例代码:
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
https://radeeccles.com/blog/create-your-own-unique-device-identifier-udid
#3
0
As per my knowledge it is good way. Similarly SecureUDID is the one also doing same thing.By Using OpenUDID the UDID is not changing even restart the app or reinstall the application.But if u change any input values like kOpenUDIDDomain or kOpenUDIDSlotPBPrefix then it generates new UDID.Based upon the names it is generating and storing into PasteBoard. If you reset the device also still same.I personally vote for this.
据我所知,这是好方法。类似地,SecureUDID也是做同样的事情。通过使用OpenUDID,UDID不会改变甚至重新启动应用程序或重新安装应用程序。但是如果你改变任何输入值,如kOpenUDIDDomain或kOpenUDIDSlotPBPrefix,那么它会生成新的UDID。基于名称,它是生成并存储到PasteBoard中。如果您重置设备也仍然相同。我个人投票支持。