我的应用刚被拒绝,并收到以下消息:
PLA 3.3.12
我们发现您的应用使用iOS广告标识符,但确实如此 不包含广告功能。这不符合条款 应用程序要求的iOS开发人员计划许可协议 商店评论指南。
具体来说,iOS开发者计划许可证的第3.3.12节 协议规定:
“您和您的应用程序(以及您拥有的任何第三方) 签约投放广告)可以使用广告标识符, 以及通过使用广告获得的任何信息 标识符,仅用于投放广告的目的。如果是用户 重置广告标识符,然后您同意不结合, 直接或间接关联,链接或以其他方式关联 先前的广告标识符和任何派生的信息 重置广告标识符。“
注意:iAd不使用AdSupport框架,ASIdentifierManager, 或广告标识符。因此,iAd不需要它们 实施,不应包含在您的iAd应用程序中 支持。
如果您的应用正在投放广告,请:
确保您已在设备上测试了您的应用,而不仅仅是模拟器,并且您已删除所有先前版本的应用 在测试之前
向我们提供在您的应用中找到广告的步骤
如果您的应用不投放广告,请检查您的代码 - 包括任何代码 第三方库 - 删除任何实例:
类:ASIdentifierManager选择器:advertisingIdentifier框架: AdSupport.framework程式
如果您打算在将来的版本中加入广告,请 从您的应用中删除广告标识符,直到您拥有 包含广告功能。
要帮助找到广告标识符,请使用“nm”工具。对于 有关“nm”工具的信息,请参阅nm手册页。
如果您无权访问图书馆的来源,您可以 使用“strings”或“otool”命令行搜索已编译的二进制文件 工具。 “strings”工具列出了库调用的方法, 和“otool -ov”将列出Objective-C类结构及其结构 定义的方法。这些技巧可以帮助您缩小范围 有问题的代码驻留。
我的应用使用仅限iAd ,没有其他广告框架。我试图找到问题,这就是我发现的:
在构建设置中,我看到了AdSupport框架: 我可能已经包含它了,因为在某处教程。这是问题吗?如果我删除AdSupport.framework,我的iAd是否仍能正常工作?
使用命令行,我cd到项目的根文件夹,
grep -r advertisingIdentifier。
我得到了以下结果:
./荚/ FBSDKCoreKit / FBSDKCoreKit / FBSDKCoreKit /内部/ AppEvents / FBSDKAppEventsUtility.m: result = [[manager advertisingIdentifier] UUIDString];
以下是FBSDKAppEventUtility.m中的详细代码(FacebookSDK 4.1.0 - 我在FBSDK 3.1中阅读了一些关于FacebookSDK关于广告标识符问题的文章。我不相信FBSDK 4.1.0中仍然存在问题!):< / p>
+ (NSString *)advertiserID
{
NSString *result = nil;
Class ASIdentifierManagerClass = fbsdkdfl_ASIdentifierManagerClass();
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
result = [[manager advertisingIdentifier] UUIDString];
}
return result;
}
我使用pod在我的应用程序中安装Facebook SDK,正如您所看到的,代码中包含与advertisingIdentifier相关的内容。
我也在FBSDKAppEventUtility.m中看到:
#import <AdSupport/AdSupport.h>
在FBSDKAppEventUtility.m的其他函数中存在几个ASIdentifierManagerClass
这会导致我被拒绝吗?是否有人因使用FBSDKCoreKit使用广告标识符而遭到拒绝?
答案 0 :(得分:2)
正如丹尼尔所说,您需要重新提交给Apple进行审核,并提及Facebook SDK在使用App Events或使用Facebook Audience Network SDK投放广告时需要AdSupport.framework。这并不能自动保证批准。
Facebook iOS SDK文档有Troubleshooting Guide,其中包含SDK的哪些部分需要AdSupport.framework。
我还认为审核提交过程中有一个部分会询问您是否使用IDFA,如果您使用的是App Events(包括[FBSDKAppEvents activateApp]),那么我相信您应该在提交中突出显示。 / p>