我们希望提交我们的Xamarin
申请以供Apple
Appstore
审核,并在提交过程中提出以下问题:
此应用是否使用广告标识符(IDFA)?该 广告标识符(IDFA)是每个iOS设备的唯一ID 是提供定向广告的唯一方式。用户可以选择限制广告 定位在他们的iOS设备上。
它还以红色发出非常可怕的警告:
确保为广告标识符选择正确的答案 (IDFA)用法。如果您的应用确实包含IDFA,则选择否,即可 二进制文件将被永久拒绝,您将不得不提交 不同的二进制文件。
以下是问题的屏幕截图:
我不知道如何回答这个问题,因为我们的应用程序根本不提供广告,但我不确定我们使用的任何组件是否正在使用IDFA,并且考虑到可怕的警告,我不想冒任何机会
我搜索了有关此问题的一些信息,并找到this useful article,其中说明了在代码中搜索的内容,以确保您不使用IDFA。以下是相关内容:
Apple建议发布商检查代码,包括第三方代码 图书馆,以消除以下任何事件:类:ASIdentifierManager selector:advertisingIdentifier 框架:AdSupport.framework
所以我在我的项目中进行了以下grep搜索:
grep -lr "ASIdentifierManager" *
此搜索返回一个结果,表示在ASIdentifierManager
的32位和64位版本中都找到了Xamarin.iOS.dll
。
因此,我认为由于Xamarin.iOS
正在使用ASIdentifierManager
而对问题回答“否”是不安全的。即使我们的应用程序不提供广告,对这个问题回答“是”是否明智?或者有没有办法编译应用程序,以便ASIdentifierManager
中没有引用Xamarin.IOS.dll
?
答案 0 :(得分:2)
如果您的应用不使用广告API,我认为您可以回答“否”。
我在应用程序商店中有两个Xamarin应用程序,我总是回答“否”并且还没有被拒绝。我相信原因是虽然Xamarin库API引用了广告API,因为应用实际上并没有调用它,但它们没有问题,也不算是使用IDFA。