我正在提交 iOS 游戏到应用商店。
Xcode 给了我一个错误提示:违规使用广告标识符 [IDFA]。你的应用程序包含广告标识符 [IDFA] API,但在 iTunes Connect 的“准备上传”页面中没有指明其使用情况。
如何解决这个问题?感谢任何帮助。
我正在提交 iOS 游戏到应用商店。
Xcode 给了我一个错误提示:违规使用广告标识符 [IDFA]。你的应用程序包含广告标识符 [IDFA] API,但在 iTunes Connect 的“准备上传”页面中没有指明其使用情况。
如何解决这个问题?感谢任何帮助。
现在一切恢复正常。像往常一样上传您的二进制文件,并将IDFA大体分类为两类:
发布者:您使用第三方广告网络库显示广告。选择IDFA中的第一项 - "在应用内提供广告"。如果您仅展示广告而不为自己的应用程序进行广告投放,则视为发布者。
广告主:您使用第三方库跟踪应用中的转化率以及跟踪应用中的“目标”。您直接不在应用程序中展示广告。请选择IDFA中的第二和第三个选项 - “将此应用安装归因于以前提供的广告” 和 “将在此应用程序中执行的操作归因于以前提供的广告”。
混合:您跟踪应用中的转化率并在应用中显示广告。请选择所有三个选项。
您可以上传与相同bundleID的任何应用程序。上传完成后,您可以拒绝二进制文件,并在下一次将状态更改为“准备上传”时,不要忘记勾选[IDFA]。
在“准备上传”页面上,您必须选中“Yes”: 但如果您选择了“No”,您将被困在iTunes Connect上的新版本中,无法重新进入“准备上传”页面或删除新版本。
目前,当出现此错误时,似乎您的应用程序永远被锁定在旧版本上。 苹果必须修复这个问题!
这对我来说现在很有效。
顺便说一句,启用此选项不能帮助我们
我也遇到了同样的问题,并搜索了上述实例...我在Playhaven api中找到了一个带有它们的方法,在我注释掉那部分后,我没有再次遇到错误。class: ASIdentifierManager
selector: advertisingIdentifier
framework: AdSupport.framework
您只需要上传与无广告支持相同的捆绑标识(bundle id)的任何应用程序,然后拒绝二进制文件并勾选新的广告选项,最后就可以毫无问题地提交您的应用程序了。
在使用从参考链接下载的FacebookSDK.framework时,我在验证应用程序与iTunes Connect时遇到了此警告。在FBUtility.m中,我注释掉了下面的代码并删除了Adsupport.Frmaework。
+ (NSString *)advertiserID {
NSString *advertiserID = nil;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
advertiserID = [[manager advertisingIdentifier] UUIDString];
}
return advertiserID;
} to
+ (NSString *)advertiserID {
return @"";
并且在同一类中更改了另一个函数 FBUtility.m
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
if ([FBSettings restrictedTreatment] == FBRestrictedTreatmentYES) {
return AdvertisingTrackingDisallowed;
}
FBAdvertisingTrackingStatus status = AdvertisingTrackingUnspecified;
Class ASIdentifierManagerClass = [FBDynamicFrameworkLoader loadClass:@"ASIdentifierManager" withFramework:@"AdSupport"];
if ([ASIdentifierManagerClass class]) {
ASIdentifierManager *manager = [ASIdentifierManagerClass sharedManager];
if (manager) {
status = [manager isAdvertisingTrackingEnabled] ? AdvertisingTrackingAllowed : AdvertisingTrackingDisallowed;
}
}
return status;
}
至
+ (FBAdvertisingTrackingStatus)advertisingTrackingStatus {
FBAdvertisingTrackingStatus status =AdvertisingTrackingUnspecified;
return status;
我已经删除了FacebookSDK.framework并从参考链接下载了Facebook框架。我通过这种方式解决了警告,成功上传了应用程序。
此外,为避免被拒绝,请参考此堆栈问题链接,查找和删除不需要的框架。
iTunesConnect网站更改了处理此警告的工作流程。您需要使用此警告上传您的应用程序(至少使用XCode 5.1.1)。
在iTunesConnect中,您现在可以在从XCode上传后选择构建。选择构建后,然后单击“提交审核”,您将获得之前准备上传时设置的提示(特别是“广告标识符”)。