我的应用程序因advertisingIdentifierFacebook sdk和Flurry SDK 被拒绝了!我advertisingIdentifier在最新的Facebook SDK (3.12)Flurry SDK中发现了一个问题.也许您可以使用以下方法检查您的图书馆是否出现:
我打开了FacebookSDK.framework作为终端中的库并输入以下命令
otool -v -s __TEXT __objc_methname FacebookSDK | grep advertisingIdentifier
Run Code Online (Sandbox Code Playgroud)
和Flurry SDK一样.
但我不知道该怎么做.
对于新闻:Flurry最近更新了他们的SDK,其中不包含"advertisingIdentifier",但Facebook还没有.
我的应用刚刚被拒绝,并显示以下消息:
解放军3.3.12
我们发现您的应用使用了iOS广告标识符,但不包含广告功能。这不符合App Store审查指南要求的iOS开发者计划许可协议的条款。
具体来说,iOS开发人员计划许可协议的第3.3.12节规定:
“您和您的应用程序(以及您与之签约提供广告的任何第三方)只能将广告标识符以及通过使用广告标识符获得的任何信息用于广告目的。如果用户重置了广告标识符,那么您同意不将先前的广告标识符和任何派生的信息与重置的广告标识符直接,间接地结合,关联,链接或以其他方式关联。”
注意:iAd不使用AdSupport框架,ASIdentifierManager或广告标识符。因此,iAd实施不需要它们,因此不应将它们包含在您的应用中以获取iAd支持。
如果您的应用正在投放广告,请:
确保您已在设备(不仅是模拟器)上测试了您的应用程序,并且在测试之前已删除了所有先前版本的应用程序
向我们提供在您的应用中查找广告的步骤
如果您的应用未投放广告,请检查您的代码(包括任何第三方库)以删除以下任何实例:
类:ASIdentifierManager选择器:advertiseIdentifier框架:AdSupport.framework
如果您打算在以后的版本中加入广告,请在您添加广告功能之前,从您的应用中删除广告标识符。
为了帮助找到广告标识符,请使用“ nm”工具。有关“ nm”工具的信息,请参见nm手册页。
如果您无权访问库的源代码,则可以使用“字符串”或“ otool”命令行工具来搜索已编译的二进制文件。“字符串”工具列出了库调用的方法,而“ otool -ov”列出了Objective-C类结构及其定义的方法。这些技术可以帮助您缩小有问题的代码所在的位置。
我的应用仅使用iAd,没有其他用于广告的框架。我试图找出问题所在,这是我发现的结果:
在构建设置中,我看到了AdSupport框架:
由于在某个地方进行了一些教程,我可能将其包括在内。这是问题吗?如果删除AdSupport.framework,我的iAd仍然可以正常工作吗?
使用命令行,我将CD转到项目的根文件夹,然后
grep -r advertisingIdentifier。
我得到以下结果:
./Pods/FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/AppEvents/FBSDKAppEventsUtility.m:result = [[manager advertisingIdentifier] UUIDString];
以下是FBSDKAppEventUtility.m中的详细代码(FacebookSDK 4.1.0-我阅读了有关FacebookSDK有关FBSDK 3.1中广告标识符的问题的帖子。我无法相信问题仍存在于FBSDK 4.1.0中!):
+ (NSString *)advertiserID
{
NSString *result = nil;
Class ASIdentifierManagerClass = fbsdkdfl_ASIdentifierManagerClass();
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
result = [[manager advertisingIdentifier] UUIDString];
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我使用pod在我的应用程序中安装了Facebook SDK,并且如您所见,代码中包含与adsingIdentifier相关的内容。
我还在FBSDKAppEventUtility.m中看到:
#import <AdSupport/AdSupport.h>
Run Code Online (Sandbox Code Playgroud)
以及FBSDKAppEventUtility.m中其他函数中ASIdentifierManagerClass的几种存在
还会导致我被拒绝吗?是否有人通过使用FBSDKCoreKit使用广告标识符而被拒绝?