3

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

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

4

4 回答 4

4

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

于 2010-01-31T02:18:24.113 回答
2

访问 UDID 是 App Store 拒绝的理由。在https://stackoverflow.com/a/10037636/1286639上查看使用 UDID 的替代方法

于 2012-04-06T00:04:48.870 回答
1

只需确保您的应用程序的功能已不是秘密。如果它传输电话号码以将这些电话号码存储在您的服务器上,那么请在应用程序的描述中明确提及这一点,甚至在第一时间请求用户许可。

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

于 2010-01-31T03:34:26.923 回答
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];
}
于 2013-04-30T17:35:04.607 回答