我的应用有一项功能,需要识别每个应用用户。我打算让应用程序将UDID发送到我的服务器。服务器存储它,供以后使用。 我不认为这是个人信息,但是,我想知道Apple的AppStore中是否可以批准。
并且,包括转移电话号码。在WhatsApp的情况下,它会自动识别我朋友的号码。我认为没有某种数据传输是不可能的。
答案 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];
}