不正确的广告标识符的使用,但事实并非如此
当上传应用程序文件到它连接XCode说:不当的广告标识符[IDFA]使用…等。 但是我没有在我的项目中使用这个function。 我试图find任何
[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]
呼叫。 此外,我只是修复我的应用程序的错误,自从我的第一个版本以来,我没有包含这些function。 第一个版本没有提到IDFA使用情况。
那么,这个错误发生在15天前,不清楚是什么原因,直到苹果发布Xcode更新当天,一切顺利。 再次,今天我收到了同样的消息,虽然我试图上传我提交了一个应用程序,我8天前提交的相同的版本。 我想我们只需要等上几个小时,看看会发生什么。
编辑:这是一个链接,显示当时的人抱怨,以及如何解决而不做任何事情: 链接
更新:对于任何使用PlayHaven广告的人来说,这可能会有助于避免此错误。 评论以下2个部分:
在文件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。
我在另一个类似的问题上提供了这个答案,似乎有帮助,我想我的答案也特别适合这个问题…
在苹果进行最近的更改之后,我在之前更新的应用程序的更新中出现了类似的错误,然后在几天前导致了错误。 我没有使用任何广告,但有Facebook集成(需要AdSupport框架)。 我相信,searchnetworking后,Facebook使用广告ID作为自己的分析目的,即使我没有在我的应用程序中包括广告,通过xCode的validation和上传过程失败,错误“你的应用程序包含广告标识符[IDFA] API …“
我search了一下,发现我需要下载Facebook SDK源代码,更新FBUtility.m以删除对advertisingID的引用,但事实上,我只需要:
1)下载最新SDK的源代码,我从这里做了: https : //github.com/facebook/facebook-ios-sdk (我从github下载了zip文件到我的文档文件夹)
2)build立框架 – 打开terminal。 在命令提示符处使用cd文档,然后使用以下命令:sudo scripts / build_framework.sh,它将运行位于已下载的Facebook SDK文件夹中脚本子文件夹中的build_framework.sh脚本
3)从你的Xcode项目中删除旧的FacebookSDK.framework并添加新的(在我的例子中,我导航到文档/ facebook-ios-sdk / build&selectFacebookSDK.framework文件夹
4)归档项目,它应该(这是我的情况)上传好
希望能帮助一路上的人 – 我已经在这个日子了!
简单地上传你的二进制文件,就像你一直在做的那样,并且将IDFA分为两大类:
发布商:您使用第三方广告networking库来展示广告。 selectIDFA中的第一个选项 – >“在应用程序内投放广告”。 自从您展示广告之后,您就是发布商,但不要为自己的应用执行广告。
广告客户:您可以使用第三方库来跟踪您应用的转化次数,并跟踪应用中的“目标”。 您直接不会在您的应用中展示广告。 selectIDFA中的第二个和第三个选项 – >“将此应用安装到以前投放的广告”。 以及“将此应用中采取的操作归因于之前投放的广告”。
混合:您可以跟踪应用的转化次数,并在应用中展示广告。 select所有三个选项。
在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
为我提交时修复“不正确的广告标识符”。