Xamarin.IOS.dll 使用广告标识符 (IDFA)

Bru*_*ill 6 appstore-approval xamarin idfa

我们想提交我们的Xamarin申请以供审查,Apple Appstore并且在提交过程中会询问以下问题:

此应用程序是否使用广告标识符 (IDFA)?广告标识符 (IDFA) 是每个 iOS 设备的唯一 ID,是提供有针对性的广告的唯一方式。用户可以选择限制其 iOS 设备上的广告定位。

它还给出了一个非常可怕的红色警告:

确保为广告标识符 (IDFA) 使用选择正确的答案。如果您的应用确实包含 IDFA 并且您选择“否”,则二进制文件将被永久拒绝,您必须提交不同的二进制文件。

这是问题的屏幕截图:

在此处输入图片说明

我不确定如何回答这个问题,因为我们的应用程序根本不提供广告服务,但我不确定我们正在使用的任何组件是否正在使用 IDFA,并且考虑到可怕的警告,我不想冒险。

我在 google 上搜索了一些关于这个问题的信息,找到了这篇有用的文章,它解释了在你的代码中搜索什么以确保你没有使用 IDFA。以下是相关内容:

Apple 建议出版商检查代码,包括第三方库,以消除以下任何事件:

类:ASIdentifierManager 选择器:advertisingIdentifier 框架:AdSupport.framework

所以我在我的项目中进行了以下 grep 搜索:

grep -lr  "ASIdentifierManager" *
Run Code Online (Sandbox Code Playgroud)

此搜索返回一个结果,说明ASIdentifierManager在 32 位和 64 位版本的Xamarin.iOS.dll.

所以我假设我对这个问题回答“否”是不安全的,因为Xamarin.iOS使用ASIdentifierManager. 即使我们的应用程序不提供广告,是否建议对此问题回答“是”?或者有什么方法可以编译应用程序,以便在ASIdentifierManager中不被引用Xamarin.IOS.dll

小智 4

我认为如果您的应用不使用广告 API,您可以回答“否”。

我在应用程序商店中有两个 Xamarin 应用程序,我总是回答“否”并且尚未被拒绝。我相信原因是,虽然 Xamarin 库 API 引用了广告 API,因为应用程序实际上并未调用它,但它们是可以的,并且不被视为使用 IDFA。