不正确的广告标识符[IDFA]用法,但它没有

时间:2014-04-26 09:54:10

标签: ios objective-c itunesconnect

将应用程序文件上传到itunesconnect时,XCode会说:不正确的广告标识符[IDFA]用法等。 但我不在我的项目中使用此功能。我试图找到任何

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]

呼叫。此外,我只修复了我的应用程序的错误,自从我第一次发布以来,我没有包含这些功能。第一个版本没有谈到IDFA的用法。

4 个答案:

答案 0 :(得分:3)

嗯,这个错误发生在大约15天前,并且不清楚是什么原因直到Apple在同一天发布Xcode更新并且之后一切顺利。再次,今天我收到相同的消息,虽然我试图为我8天前提交的应用上传相同的版本。 我想我们只需等待几个小时,看看会发生什么。

编辑:这是一个链接,显示当时人们抱怨它以及如何在不做任何事情的情况下解决它:LINK

更新:对于使用PlayHaven广告的任何人,这可能有助于避免此错误。评论以下两节:

在PHAdRequest.m文件中(第35-44行)

/*    if (![PHAPIRequest optOutStatus] && [ASIdentifierManager class])
{
    NSUUID *uuid = [[ASIdentifierManager sharedManager] advertisingIdentifier];
    NSString *uuidString = [uuid UUIDString];

    if (0 < [uuidString length])
    {
        theIdentifiers[@"ifa"] = uuidString;
    }
}*/

在PHAPIRequest.m(第379-383行):

/*    if ([ASIdentifierManager class])
{
    NSNumber *trackingEnabled = [NSNumber numberWithBool:[[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]];
    [combinedParams setValue:trackingEnabled forKey:@"tracking"];
}*/

这是一个临时的解决方法,直到PlayHaven更新他们的SDK。

答案 1 :(得分:3)

我已经在另一个similar question上提供了这个答案,而且似乎已经提供了帮助&amp;我想我的答案也特别适合这个问题......

我对之前更新过的应用程序的更新中出现了类似的错误,但是在Apple最近更改之后,几天前导致错误。我没有使用任何广告,但确实有Facebook集成(需要AdSupport框架)。我相信,在网上搜索后,Facebook会将广告ID用于自己的分析目的,即使我没有在我的应用中添加广告,通过xCode的验证和上传过程也会因错误而失败&#34 ;您的应用包含广告标识符[IDFA] API ...&#34;

我搜索并发现我需要下载Facebook SDK源代码,更新FBUtility.m以删除对adsID的引用,但事实上,我只需要:

1)下载最新SDK的源代码,我从这里开始:https://github.com/facebook/facebook-ios-sdk(我将zip文件从github下载到我的文档文件夹)

2)构建框架 - 打开终端。在命令提示符下使用cd文档,然后使用以下命令:sudo scripts / build_framework.sh,它将运行下载的Facebook SDK文件夹中脚本子文件夹中的build_framework.sh脚本

3)从Xcode项目中删除旧的FacebookSDK.framework并添加新的(在我的情况下,我导航到documents / facebook-ios-sdk / build&amp;选择FacebookSDK.framework文件夹

4)存档项目,它应该(在我的情况下)上传

希望在此过程中帮助某人 - 我已经在这里待了好几天!!

答案 2 :(得分:2)

只需上传您的二进制文件,并将IDFA广泛分为两类:

发布商:您使用第三方广告网络库来展示广告。选择IDFA中的第一个选项 - &gt; &#34;在应用程序内投放广告&#34;。自您展示广告以来,您就是发布商,但不要为自己的应用做广告。

广告客户:您使用第三方库来跟踪应用的转化情况,以及跟踪目标&#39;在你的应用程序中您不能直接在自己的应用中展示广告。选择第二个&amp; IDFA中的第3个选项 - &gt; &#34;将此应用安装归因于先前投放的广告&#34;。 AND&#34;将此应用程序中采取的操作归属于先前投放的广告&#34;。

混合:您可以跟踪应用的转化次数,并在应用中展示广告。选择所有三个选项。

答案 3 :(得分:0)

如果是PlayHaven,将PH_USE_AD_SUPPORT设置为0将禁用AdSupport框架。

PHConstants.h

/**
 * By default, PlayHaven will require the AdSupport framework. Projects using a version of
 * Xcode older than 4.5 may define \c PH_USE_AD_SUPPORT to be 0.
 *
 * @note By disabling the AdSupport framework, the SDK will not be able to collect the IFA
 **/
#ifndef PH_USE_AD_SUPPORT
#define PH_USE_AD_SUPPORT 1
#endif

为我工作以修复&#34;不正确的广告标识符&#34;提交时。