【问题标题】:Apps are not permitted to access the UDID and must not use the uniqueIdentifier method of UIDevice不允许应用访问 UDID 且不得使用 UIDevice 的 uniqueIdentifier 方法
【发布时间】:2013-05-10 18:58:28
【问题描述】:

请您帮我解决下面提到的从应用商店获取的问题

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

如果您认为此消息发送有误,并且您只收到了 根据指南使用 Apple 发布的 API,发送 应用程序的九位数 Apple ID,以及有关原因的详细信息 您认为上述 API 被错误标记为 appreview@apple.com。欲了解更多信息,请访问技术 支持信息页面。

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

【问题讨论】:

    标签: iphone mobile app-store app-store-connect iphone-accessory


    【解决方案1】:

    通过

    查找使用UDID的类

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

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

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

    【讨论】:

    • 它对我很有用。我使用了旧的 Flurry Analytics,这就是为什么我遇到了同样的错误。使用这个命令行我更新了我的 Flurry SDK 并解决了我的问题并节省了我的时间。谢谢
    • 非常感谢...它指向 Paypal 库...他们不能在注释/说明中提供吗?
    【解决方案2】:

    Use of the device's uniqueidentifier property in apps was deprecated in iOS 5.0 自 2013 年 5 月 1 日起禁止在 iOS 6 应用程序中使用。您可以改为 use the identifierForVendor property available in iOS 6.0。 Apple 更改了 API 以解决隐私问题。

    【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

      那个空的项目里面没有插件,所以这不是任何插件的问题。

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 那么你是如何解决这个问题的?你是升级了整个 sharekit 库还是只是替换了它的 facebook 依赖项?
        【解决方案6】:

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

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

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

            【讨论】:

              猜你喜欢
              • 2015-07-11
              • 1970-01-01
              • 2012-03-12
              • 2013-05-10
              • 2015-05-13
              • 2021-12-07
              • 2013-05-17
              • 2023-03-06
              • 2013-06-01
              相关资源
              最近更新 更多