是否允许将iPhone UDID传输到我的服务器?

时间:2010-01-31 02:15:47

标签: iphone udid

我的应用有一项功能,需要识别每个应用用户。我打算让应用程序将UDID发送到我的服务器。服务器存储它,供以后使用。 我不认为这是个人信息,但是,我想知道Apple的AppStore中是否可以批准。

并且,包括转移电话号码。在WhatsApp的情况下,它会自动识别我朋友的号码。我认为没有某种数据传输是不可能的。

4 个答案:

答案 0 :(得分:4)

您可以将设备的UDID传输到服务器。这就是它的目的。

答案 1 :(得分:2)

访问UDID是App Store拒绝的理由。请参阅https://stackoverflow.com/a/10037636/1286639

使用UDID的替代方法

答案 2 :(得分:1)

请确保您的应用程序的功能并不是秘密。如果它传输电话号码以存储服务器上的电话号码,那么请在应用程序说明中清楚地提及,或者甚至在第一时间请求用户许可。

这实际上是一个被拒绝的理由我认为:不清楚将用户的数据存储在您自己的服务器/服务上。

答案 3 :(得分:0)

重要的是要注意UDID和UUID之间的区别。

UDID“唯一设备ID”是特定于硬件的。它永远不会改变特定设备。出于这个原因,它已成为一个隐私问题,Apple正在阻止试图使用它的应用程序。因此,Apple已生成一个可选择退出的“设备ID”哈希,特别是对于广告使用。这个新的ID哈希称为IFA,可在iOS 6.0 +中使用。

UUID“通用唯一ID”不是特定于硬件的。它是用于标识设备的哈希;但不是特别绝对的价值。例如,PhoneGap根据设备属性生成UUID;这是你在做device.uuid时得到的。如果您删除该应用并重新安装,您将获得一个新的ID哈希。 UUID未被Apple阻止。

我认为在您的情况下最好的解决方案是使用IFA,OpenUDID作为iOS的备份< 6.0。

这是我们使用的代码。如果IFA不可用,请获取OpenUDID。 [[你必须安装OpenUDID,在这里阅读更多相关内容,https://github.com/ylechelle/OpenUDID。]

NSString* uuid = nil;
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
    // IOS 6 new Unique Identifier implementation, IFA
    uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
    // Before iOS6 (or if IFA disabled) you shoud use a custom implementation for uuid
    // Here I use OpenUDID (you have to import it into your project)
    // https://github.com/ylechelle/OpenUDID
    NSString* openUDID = [OpenUDID value];
    uuid = [OpenUDID value];
}