当我在xCode 5中验证我的应用程序时,获取错误不正确的广告标识符[IDFA]用法

时间:2014-04-28 07:40:58

标签: ios objective-c xcode

在验证我的应用时,我收到错误消息

"广告标识符使用不当。您的应用包含广告标识符[IDFA] API但您尚未遵守iOS中的限制广告跟踪设置。"

我检查了"是"在准备上传广告标识符页面。我在我的应用程序中使用revmob广告和乱码分析(COCOS2D-X项目)。如何解决这个问题,我已经尝试了很多但没有成功。我使用下面的代码进入appdelegate但没有运气。

- (NSString *)identifierForAdvertising
{
   if([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled])
   {
       NSUUID *IDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier];

       return [IDFA UUIDString];
   }

    return nil;
}  

Screen Shot

3 个答案:

答案 0 :(得分:8)

今天,这个IDFA问题仍然在发生在我身上。我将其跟踪到 GoogleAnalytics pod ,因此我刚刚将pod更新为latist版本,方法是在podfile中为{strong>修复问题指定pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.7'。该版本之前未指定,但使用的是3.0.3。

答案 1 :(得分:3)

4月26日左右,Apple改变了他们的IDFA扫描程序。在您单击"准备上传"后,您不仅需要选中相应的复选框,而且您的代码(或您拥有的任何其他第三方库必须直接使用该类使用IDFA。

  

有人建议这样做:

     

"你可以通过用NSClassFromString(@" ASIdentifierManager")替换ASIdentifierManager的直接引用来做到这一点#34;

请勿使用此方法加载此类!新的扫描程序将专门针对此进行查找,如果找到它而不是直接引用 - Apple似乎认为跟踪标识符有一些奇怪的用法。我不能说我不同意这个决定。

要确切找到哪个库有问题可能并不容易。例如,最新的AdMob SDK直接使用该类,而不是问题的根源。

您可以找到哪个库是问题根源的一种方法是从项目中删除AdSupport.Framework并查看哪些库无法链接。这些库不是问题。看看您是否有其他广告库不要求您包含AdSupport.Framework - 这些很可能是罪魁祸首。

这听起来有点反直觉,但直接引用不是问题,该类的动态(弱)加载是。

希望这对某人有所帮助 - 我们正在把头发拉出来,直到找到问题的根源为止。

答案 2 :(得分:0)

看起来Apple现在已经恢复了这些变化。所有应用程序都会像往常一样经历:)