我们希望提交我们的Xamarin
申请以供审核,Apple
Appstore
并且在提交过程中会提出以下问题:
此应用程序是否使用广告标识符 (IDFA)?广告标识符 (IDFA) 是每个 iOS 设备的唯一 ID,是提供有针对性的广告的唯一方式。用户可以选择在其 iOS 设备上限制广告定位。
它还以红色给出了一个非常可怕的警告:
确保为广告标识符 (IDFA) 的使用选择正确的答案。如果您的应用确实包含 IDFA 并且您选择否,则二进制文件将被永久拒绝,您将不得不提交不同的二进制文件。
这是问题的屏幕截图:
我不确定如何回答这个问题,因为我们的应用程序根本不提供广告,但我不确定我们正在使用的任何组件是否正在使用 IDFA,并且考虑到可怕的警告,我不想冒险。
我搜索了一些关于这个问题的信息,发现这篇有用的文章解释了在你的代码中搜索什么以确保你没有使用 IDFA。以下是相关内容:
Apple 建议出版商检查代码,包括第三方库,以消除以下任何情况:
类:ASIdentifierManager 选择器:advertisingIdentifier 框架:AdSupport.framework
所以我在我的项目中进行了以下 grep 搜索:
grep -lr "ASIdentifierManager" *
此搜索返回的结果表明ASIdentifierManager
在 32 位和 64 位版本的Xamarin.iOS.dll
.
所以我是否正确假设我对这个问题回答“否”是不安全的,因为Xamarin.iOS
正在使用ASIdentifierManager
. 即使我们的应用程序不提供广告,是否建议对这个问题回答“是”?或者是否有某种方法可以编译应用程序以便ASIdentifierManager
不引用Xamarin.IOS.dll
?