将应用程序文件上传到itunesconnect时,XCode会说:不正确的广告标识符[IDFA]用法等。 但我不在我的项目中使用此功能。我试图找到任何
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]
呼叫。此外,我只修复了我的应用程序的错误,自从我第一次发布以来,我没有包含这些功能。第一个版本没有谈到IDFA的用法。
答案 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;提交时。