【发布时间】:2023-03-03 20:15:02
【问题描述】:
我正在向应用商店提交 ios 游戏更新。
xcode 显示以下错误: “广告标识符 [IDFA] 使用不当。您的应用包含广告标识符 [IDFA] API,但您的应用不遵守 iOS 中的限制广告跟踪设置。”
我没有更改任何有关我的广告设置的内容,我的应用的最新版本也没有任何问题。
在过去的 20 小时里,我一直在尝试寻找解决方法,但我开始发疯了。 我必须改变什么以及如何改变?请帮帮我!
【问题讨论】:
我正在向应用商店提交 ios 游戏更新。
xcode 显示以下错误: “广告标识符 [IDFA] 使用不当。您的应用包含广告标识符 [IDFA] API,但您的应用不遵守 iOS 中的限制广告跟踪设置。”
我没有更改任何有关我的广告设置的内容,我的应用的最新版本也没有任何问题。
在过去的 20 小时里,我一直在尝试寻找解决方法,但我开始发疯了。 我必须改变什么以及如何改变?请帮帮我!
【问题讨论】:
我遇到了同样的问题,并且能够通过删除 AdMob 广告并仅保留 iAd 来解决它。 我知道这不是一个完美的解决方案,但之后您至少应该能够上传您的应用。
【讨论】:
您可以尝试更新最新版本的 Admob,或在调用 Admob 之前检查 [ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled,因为 Apple 现在要求应用需要在用户设备中检查此设置。
【讨论】:
我在更新应用时遇到了类似的错误。我没有使用任何广告,但确实有 Facebook 集成(需要 AdSupport 框架)。我相信,在搜索网络后,Facebook 将广告 ID 用于自己的分析目的,因此,即使我的应用程序中没有包含广告,通过 xCode 的验证和上传过程也失败,并出现错误“您的应用程序包含广告标识符 [IDFA] API..."
我搜索发现需要下载 Facebook SDK 源代码,更新 FBUtility.m 以删除对 adsID 的引用,但实际上我只需要:
1) 下载最新 SDK 的源代码,我从这里下载:https://github.com/facebook/facebook-ios-sdk(我将 zip 文件从 github 下载到我的文档文件夹)
2) 构建框架 - 打开终端。在命令提示符下使用 cd 文档,然后使用以下命令:sudo scripts/build_framework.sh,它将运行下载的 Facebook SDK 文件夹内的 scripts 子文件夹中的 build_framework.sh 脚本
3) 从您的 Xcode 项目中删除旧的 FacebookSDK.framework 并添加新的(在我的例子中,我导航到文档/facebook-ios-sdk/build 并选择 FacebookSDK.framework 文件夹
4) 存档项目,它应该(在我的情况下)很好上传
希望能在此过程中对某人有所帮助 - 我已经在这里工作了好几天了!!
【讨论】:
我遇到了同样的问题。 TapJoy 是我的罪魁祸首。我删除了他们的 SDK,并且提交的应用没有问题。
【讨论】:
Apple 最近更改了他们的 IDFA 扫描程序。点击“准备上传”后,您不仅需要选中相应的复选框,而且您的代码(或您拥有的任何其他第三方库都必须通过直接使用该类来使用 IDFA。
有人建议这样做:
“你可以通过用 NSClassFromString(@"ASIdentifierManager") 替换对 ASIdentifierManager 的直接引用来做到这一点”
不要使用这种方法加载这个类!新的扫描程序将专门针对这一点,如果找到它而不是直接引用 - Apple 似乎认为跟踪标识符有一些奇怪的用法。我不能说我不同意这个决定。
要准确找出哪个库出了问题可能并不容易。例如,最新的 AdMob SDK 直接使用该类,并不是问题的根源。
找出问题根源的一种方法是从项目中删除 AdSupport.Framework,然后查看哪些库链接失败。这些库不是问题。看看您是否有其他广告库不需要您包含 AdSupport.Framework - 这些很可能是罪魁祸首。
这听起来有点反直觉,但直接引用不是问题,该类的动态(弱)加载是。
希望这对某人有所帮助 - 我们一直在努力解决问题,直到找到问题的根源。
【讨论】:
现在一切都已恢复正常。只需上传您的二进制文件,然后将 IDFA 大致分为两类:
发布商:您使用第三方广告网络库来展示广告。选择 IDFA 中的第一个选项 -> “在应用内投放广告”。您是发布商,因为您展示广告,但不为您自己的应用投放广告。
广告商:您使用第三方库来跟踪应用的转化情况,以及跟踪应用中的“目标”。您直接不在您的应用中展示广告。在 IDFA 中选择第 2 和第 3 个选项 -> “将此应用安装归因于以前投放的广告”。以及“将此应用程序中采取的操作归因于之前投放的广告”。
混合:您跟踪应用的转化情况,并在应用中展示广告。选择所有三个选项。
【讨论】: