improper advertising identifier [IDFA] usage, but it doesn't

筅森魡賤 提交于 2019-12-06 08:31:37

问题


While uploading app-file to itunesconnect the XCode says: improper advertising identifier [IDFA] usage...etc. But I do not use this feature in my project. I've tried to find any

[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]

calling. Futhermore, I'm just fixing a bug of my app, I hadn't included such features since my first release. The first release didn't said about IDFA-usage.


回答1:


Well, this error happened about 15 days ago and it wasn't clear what is the reason till Apple released the Xcode update the same day and everything went smooth after that. Again, today I get the same message though I tried to upload the same builds for an app which I submitted 8 days ago. I think we have just to wait for a few hours and see what will happen.

EDIT: Here is a link to show people complain about it at that time and how it was solved without doing anything: LINK

UPDATE: For anyone who uses PlayHaven ads, this may be helpful to avoid this error. Comment the 2 following sections:

In the file PHAdRequest.m (Lines 35-44)

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

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

In PHAPIRequest.m (Lines 379-383):

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

This is a temporary workaround till PlayHaven updates their SDK.




回答2:


I had provided this answer on another similar question and it seems to have been of help & I think my answer is particularly suited also to this question...

I had a similar error in an update to an app that had previously updated fine and then a few days ago was causing an error, after Apple made a recent change. I wasn't using any ads but do have Facebook integration (which needs the AdSupport framework). I believe, after searching the net, that Facebook uses the advertising ID for its own analysis purposes so, even though I'm not including ads in my app, the validation and upload processes through xCode were failing with the error "Your app contains the Advertising Identifier [IDFA] API..."

I searched and found that I needed to download the Facebook SDK source code, update the FBUtility.m to remove the references to the advertisingID but, in fact, I simply needed to:

1) download the source code for the latest SDK, which I did from here: https://github.com/facebook/facebook-ios-sdk (I downloaded the zip file from github to my documents folder)

2) build the framework - open the terminal. Use cd documents at the command prompt, then use this command: sudo scripts/build_framework.sh, which will run the build_framework.sh script that is in the scripts subfolder within the downloaded Facebook SDK folder

3) Remove the old FacebookSDK.framework from your Xcode project and add the new one (in my case, I navigated to documents/facebook-ios-sdk/build & choose the FacebookSDK.framework folder

4) Archive the project and it should (it was in my case) be good to upload

Hope that helps someone along the way - I've been at this for days!!




回答3:


Simply upload your binary as you've been doing this while, and broadly classify IDFA in two categories:

publisher: You use third-party ad-networks library to display ad. Choose the 1st option in IDFA -> "Serve advertisements within the app". You're a publisher since you show ads, but do not perform advertising for your own app.

Advertiser: You use third-party libraries to track conversions for your app, as well as track 'goals' in your app. You directly do not show ads in your app. Choose the 2nd & 3rd option in IDFA -> "Attribute this app installation to a previously served ad". AND "Attribute an action taken within this app to a previously served advertisement".

Mixed: You track conversions for your app, as well as display ads in your app. Choose all three options.




回答4:


In case of PlayHaven, setup PH_USE_AD_SUPPORT to 0 will disable the AdSupport framework.

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

Work for me to fix "improper advertising identifier" when submit.



来源:https://stackoverflow.com/questions/23309237/improper-advertising-identifier-idfa-usage-but-it-doesnt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!