Ios 我的应用程序因为使用广告支持框架而被拒绝。哪个图书馆负责?

Ios 我的应用程序因为使用广告支持框架而被拒绝。哪个图书馆负责?,ios,parse-platform,appstore-approval,flurry,testflight,Ios,Parse Platform,Appstore Approval,Flurry,Testflight,这只是一个更新,没有改变任何与拒绝原因有关的内容。以下是分辨率中心的响应: 理由 程序许可协议 PLA 3.3.12 我们发现您的应用程序使用iOS广告标识符,但不包含广告功能。这不符合《应用商店审查指南》要求的iOS开发者计划许可协议条款 具体而言,《iOS开发者计划许可协议》第3.3.12节规定: “您和您的应用程序(以及与您签订广告服务合同的任何第三方)仅可将广告标识以及通过使用广告标识获得的任何信息用于广告服务。如果用户重置广告标识,则您同意不直接或间接组合、关联、链接或以其他方式关联先

这只是一个更新,没有改变任何与拒绝原因有关的内容。以下是分辨率中心的响应:

理由 程序许可协议 PLA 3.3.12

我们发现您的应用程序使用iOS广告标识符,但不包含广告功能。这不符合《应用商店审查指南》要求的iOS开发者计划许可协议条款

具体而言,《iOS开发者计划许可协议》第3.3.12节规定:

“您和您的应用程序(以及与您签订广告服务合同的任何第三方)仅可将广告标识以及通过使用广告标识获得的任何信息用于广告服务。如果用户重置广告标识,则您同意不直接或间接组合、关联、链接或以其他方式关联先前的广告标识和任何订单已使用重置广告标识符激活信息。“

请检查您的代码(包括任何第三方库),以删除以下实例:

类别:ASIdentifierManager
选择器:广告识别器
框架:AdSupport.framework

如果您计划在将来的版本中加入广告,请从应用程序中删除广告标识符,直到包含广告功能为止

要帮助定位广告标识符,请使用“nm”工具。有关“nm”工具的信息,请打开终端窗口并输入“man nm”

如果您无权访问库源代码,则可以使用“strings”或“otool”命令行工具搜索已编译的二进制文件。“strings”工具列出库调用的方法,“otool-ov”将列出Objective-C类结构及其定义的方法。这些技术可以帮助您缩小问题代码所在的范围

我使用的第三方库是最新版本的
parse.com sdk、最新版本的flurry analytics和试飞版本2.2。有人知道问题出在哪个图书馆吗?在终端中感谢您

  • 转到项目的根文件夹
  • 类型:
    grep-r广告识别器。
    (结尾的点很关键)
  • 这将递归地检查每个文件,并为您提供有问题的库的名称


    (在我的例子中,它是Flurry)

    我的应用程序也被拒绝了,并且出现了相同的错误!我在最新的Facebook SDK(3.12)中发现了一个广告识别器。也许您可以使用以下方法检查库中的事件:

    我在终端中将FacebookSDK.framework作为库打开,并键入以下命令

    otool-v-s uuu TEXT uuu objc uu methname FacebookSDK | grep广告识别器


    但我不知道该怎么办。我的应用是否因为此引用而被拒绝?如果是,如果我想在我的应用程序中使用facebook功能,该怎么办?

    结果表明Testflight v2.2.0是冲突的根源。此后,他们根据变更日志对其进行了修复:
    将两个SDK版本合并为一个,从而删除对ASIdentifierManager的所有访问权限。
    Flurry Analytics也使用此API。
    终端输出:

    Binary file ./Lib/Flurry/libFlurry_4.3.0.a matches
    
    Flurry说,如果没有链接AdSupport framework,则不会调用选择器。

    因此,我删除了框架并再次尝试提交。

    Crashlytics是问题所在。我们有几个应用程序因此被拒绝。但是我已经和Crashlytics谈过了,他们今天发布了一个新的更新(版本2.1.6),修复了这个问题

    有几个库具有AdSupport.framework,但除非特别调用,否则它们不会使用它。Crashlytics之所以调用该框架,是因为它必须检查应用程序是否支持广告。该更改在版本2.1.5上实现

    因此,如果您使用crashlytics,这是最可能的原因。要解决这个问题,只需重新归档你的应用程序,这样crashlytics就可以使用此修复程序的新版本

    Crashlytics团队的回应: “我们刚刚推出了此更新-你能在Mac应用打开的情况下再次构建并运行你的应用程序,以便更新你的SDK吗?之后你会很好的!重新提交后请随时通知我:)”


    PS:这开始发生,因为苹果似乎已经改变了他们的ADSupport使用政策。

    对我来说,Flurry Analytics和TestFlight都是问题所在

    对于TestFlight,它与更新它一样简单。2.2.1版本不会引起任何问题(我使用字符串进行了检查,正如苹果建议的那样)

    对于Flurry,除了删除Flurry之外,目前还没有其他修复方法,与建议相反,即使AdSupport.framework未链接,您的应用程序也将被拒绝

    以下是Flurry支持回答:

    “感谢您联系Flurry。我们最近了解到,苹果拒绝了一些它认为使用标识进行广告(IDFA)的应用程序不包括广告功能。请注意,Flurry不会收集IDFA,除非某个应用程序包含AdSupport.framework for ad功能。我们正在向苹果寻求澄清,我们将在未来几天内向受影响的客户提供最新信息。”


    Flurry刚刚发布了SDK的4.3.2版,专门解决了这个问题。

    更新


    Google发布了Google Analytics Services iOS SDK v3.03c,默认情况下删除了AdSupport.framework依赖项

    版本3.03c的完整变更日志条目(2014年2月19日):

    老芒泽酒店

    我的问题是谷歌分析和测试飞行

    对于TestFlight,我只需将库更新为2.2.1()

    但是为了更新Google Analytics,我不得不删除-ObjC f
    git grep advertisingIdentifier
    
    grep -r advertisingIdentifier .