15

你能帮我解决这个从应用商店获取的下面提到的问题吗

不允许应用访问 UDID,并且不得使用 UIDevice 的 uniqueIdentifier 方法。请更新您的应用程序和服务器以将用户与 iOS 6 中引入的供应商或广告标识符相关联。如果源代码中的方法名称与上面列出的私有 Apple API 匹配,则更改您的方法名称将有助于防止此应用程序在以后的提交中被标记. 此外,请注意,上述一个或多个 API 可能位于您的应用程序随附的静态库中。如果是这样,它们必须被删除。

如果您认为此消息发送有误,并且您仅按照指南使用 Apple 发布的 API,请将应用的 9 位数 Apple ID 以及您认为上述 API 被错误标记的原因的详细信息发送至appreview@apple.com。如需更多信息,请访问技术支持信息页面。

更正这些问题后,请转到“版本详细信息”页面并单击“准备上传二进制文件”。继续完成提交过程,直到应用状态为“等待上传”。然后,您可以提供更正后的二进制文件。

4

8 回答 8

41

查找使用UDID的类

(通过项目目录中的终端)

find . | grep -v .svn  | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

您找到使用UDID的类,然后替换它并使用UUID,或者如果您使用外部类,则将其替换为新类

于 2013-05-13T07:26:19.633 回答
4

我的问题是由于 adMob 库。它已在 adMob SDK 6.4.2 中修复。来自谷歌:

适用于 iOS 的 AdMob SDK 使用 Apple 的广告标识符 (IDFA)。SDK 根据 iOS 开发人员计划许可协议中规定的指南使用 IDFA。开发者必须确保他们遵守管理此标识符使用的 iOS 开发者计划许可协议政策。

于 2013-05-24T23:34:18.057 回答
4

自 2013 年 5 月 1 日起,iOS 5.0 已弃用设备uniqueidentifier属性在应用程序中的使用,并禁止在 iOS 6 应用程序中使用。相反,您可以使用identifierForVendoriOS 6.0 中可用的属性。Apple 更改了 API 以解决隐私问题。

于 2013-05-14T06:31:32.817 回答
1

我也有这个问题。我的项目是使用 Unity 3.5.4 和 3 个不同的插件构建的。

我使用 unity 3.5.4 创建了一个空的 iOS 项目,构建了 xCode 项目,尝试验证:失败。然后我使用 3.5.7 构建了 xCode 项目,验证成功。

那个空项目中没有插件,所以它不是任何插件错误。

我的一个插件仅适用于 Uniyt 3.5.4,所以现在我正在尝试获取适用于 3.5.7 的该插件的更新版本,以便提交应用程序。

于 2013-05-28T04:06:39.963 回答
1

Admob 和 ShareKit + Facebook 都是我的罪魁祸首。

于 2013-08-22T07:08:06.590 回答
0

如果您使用的是 HockeyApp,请记住删除检查应用程序是否需要更新的代码,它使用默认的 UDID。

更好地将它包装在一些预处理器指令中,以便它包含在您的临时构建中,而不是您的生产构建中。

于 2013-09-23T12:40:04.207 回答
0

Admob 6.4.2 似乎可以工作,只是遇到了同样的问题,现在已经解决了......尝试从这里获取它:http: //dl.google.com/googleadmobadssdk/googleadmobadssdkios.zip

于 2013-07-06T17:39:22.467 回答
0

在将我们的 Tinyview 应用程序提交到 Apple App Store 后,我刚刚收到了相同的电子邮件。我们不直接使用 UDID,但它可能被我们包含的库访问,例如 Google Analytics。

于 2013-05-11T16:39:50.823 回答