2

今天我们收到了关于我们提交的反馈,我们不理解报告的问题:“应用程序不允许访问 UDID 并且不得使用 UIDevice 的 uniqueIdentifier 方法。请更新您的应用程序和服务器以将用户与供应商或广告相关联iOS 6 中引入的标识符。”。

我们知道关于 udid 的拒绝,但我们的应用程序不使用它!阅读此内容后,我们的团队重新评估了该应用程序,我们没有发现“UIDevice uniqueIdentifier”中的事件。我们还修改了所有使用的库,实际上我们没有找到来自 UDID 的任何调用。

有人有想法吗?

经过研究,我执行了“greap”命令:

my-app-directory $ grep -Rnis 'uniqueIdentifier' * 二进制文件 John.xcodeproj/project.xcworkspace/xcuserdata/franz.xcuserdatad/UserInterfaceState.xcuserstate 匹配

二进制文件 John.xcodeproj/project.xcworkspace/xcuserdata/mahendra.xcuserdatad/UserInterfaceState.xcuserstate 匹配

二进制文件 John.xcodeproj/project.xcworkspace/xcuserdata/pareshrathod.xcuserdatad/UserInterfaceState.xcuserstate 匹配

二进制文件 John.xcodeproj/project.xcworkspace/xcuserdata/User.xcuserdatad/UserInterfaceState.xcuserstate 匹配

我该如何解决上述问题?

由约翰

4

2 回答 2

4

您应该删除对 UDID 的任何使用。自 2013 年 5 月 1 日起,Apple 开始拒绝使用此功能的应用程序。

在您的应用程序中使用标识符

从 5 月 1 日开始,App Store 将不再接受访问 UDID 的新应用或应用更新。请更新您的应用程序和服务器以将用户与 iOS 6 中引入的供应商或广告标识符相关联。您可以在UIDevice 类参考中找到更多详细信息。

来源:https ://developer.apple.com/news/

虽然我没有独立确认,但我相信这是你应该使用的:

NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor];
NSString *uuidString = [uuid UUIDString];
于 2013-05-09T18:15:03.723 回答
3

根据 Apple 的新审核指南,不允许或禁止在您的应用程序中将您设备的 UDID 用于任何类型的识别或任何其他目的。很长一段时间后,Apple 发现 UDID 也被用于破解用户的一些数据黑客和各种其他黑客,因为他们立即意识到他们限制了在任何应用程序中使用 UDID。

因此,我建议您从使用 UDID 的应用程序中删除任何剪切或代码,在您的应用程序中搜索以下代码行

[[UIDevice currentDevice] uniqueIdentifier]

如果找到它,只需将其替换为其他唯一标识符或其他一些业务逻辑,然后用它创建一个新的二进制文件并上传它。它将通过审查过程。

你可以在这里找到更多关于 IOS 应用程序的新闻和更新以及关于 UDID 使用的信息。

于 2013-05-10T04:13:40.557 回答