首页 文章

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

提问于
浏览
7

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

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

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

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

       return [IDFA UUIDString];
   }

    return nil;
}

Screen Shot

3 回答

  • 3

    这个IDFA问题今天仍在我身上发生 . 我将它追踪到 GoogleAnalytics pod ,所以我只是通过在podfile中为 fixed the issue 指定 pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.7' 来将pod更新为latist版本 . 该版本以前未指定,但使用的是3.0.3 .

  • 8

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

    有人建议这样做:“你可以通过用NSClassFromString(@”ASIdentifierManager“)将直接引用替换为ASIdentifierManager来实现这一点”

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

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

    One way you can find out which library is the source of the problem is to remove AdSupport.Framework from your project and see which libraries fail to link. Those libraries are NOT the problem. See if you have other advertising libraries that do not require you to include AdSupport.Framework - those are most likely the culprit.

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

    希望这有助于某人 - 我们正在拉头发,直到找到问题的根源 .

  • 0

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

相关问题