Search Unity

Recently, we have received a number of reports indicating that Apple have tightened their review process, and have started rejecting apps that use iOS Advertising Identifier but do not show advertisements. This blog post will help you determine whether your app might be affected, and provide advice on how to overcome any issues you might face.

  1. Q: My application uses the Advertising Identifier API and it displays advertisements in a prominent place. Will it be accepted to the App Store?
    A: You should be fine.
  2. Q: My application uses the Advertising Identifier API, and it displays advertisements, but not continuously. Will it be accepted to the App Store?
    A: Ensure that advertisements are served during the Apple review. You might also need to pass on extra instructions to the reviewer providing information as to how to reach the part of your application that displays advertisements.
  3. Q: My application does not displays ads. What should I do?
    A: We are working on a fix to be released with the next release of Unity. If you are in a hurry, follow these instructions to remove the Advertising Identifier API from your Unity application:
    a) Locate DeviceSettings.mm file in your Xcode project (you should find it under Classes/Unity/) and open it for editing;
    b) Remove the following functions from the file:

    c) Remove the following declarations of variables:

    d) Modify implementations of the following the functions (replace with those provided below):

    These modifications only affect the current build of your Xcode project. If you rebuild an Xcode project from Unity and choose to replace it or build it to a new location, you need to reapply these changes. If you do not intend to show any advertisements anywhere in your project, consider updating the master template of this file located at: /Applications/Unity/Unity.app/Contents/PlaybackEngines/iPhonePlayer/iPhone-Trampoline/Classes/Unity
  4. Q: I applied the suggested changes to my application and still got rejected from the App Store. Why might this be?
    A: Many 3rd party plugins, including social and analytics plugins, use the Advertising Identifier API directly. In such cases, you should contact the provider of your plugins for further instructions as to how to resolve this issue.

13 Comments

Subscribe to comments

Comments are closed.

  1. App Store Download

    April 21, 2014 at 1:35 am

    A code that I recently purchased had the same problem. Apple rejected it due to the Ad identifier issue. I wasn’t aware that the guy who wrote the code was using shady techniques. Got duped for five hundred bucks. Never again.

    P.S: I’m myself a Freelance App Developer – Check out my apps on App Store Download

  2. Must see badoink mobile porn app

    April 3, 2014 at 10:12 am

    Ӏ’m a reader of this unique blog for awhile now and it is always worth a reaԀ.
    I hope to read more posts in the ѕtyle of yoսr previous one.

    Visit my homepɑge; Must see badoink mobile porn app

  3. @BT, we are not aware about such issues, please bug report it! You can find our bug reporter in Unity Editor Help menu.
    Thanks!

  4. I am facing a serious issue in all my Unity generated games. If I launch the app with WiFi and then turn the WiFi off, then every time, I try loading a new scene, the app crashes. Is this issue discussed elsewhere?

  5. Will this also work on jailbroken iOS? Or it needs to be genuine version?

    Thanks in advance and for sharing!

    Regards,
    Ronald

  6. When is it expected to be fixed? I mean, I have a game that fits the #3 situation – no ads, and I hate messing with the xcode files, since I sometimes need to do a fresh build, and redo all the changes (assuming I remember them) – a big waste of time.

  7. Note.. you’ll get REJECTED also if you use iAd and don’t remove the advertising identifier as per above

    Here’s the note we got:

    Note: iAd does not use the AdSupport framework, ASIdentifierManager, or the Advertising Identifier. Therefore they are not required for iAd implementations and should not be included in your app for iAd support.

  8. We contacted Fiksu, Chartboost and Tapjoy regarding this issue and I wrote about what they said here: http://forum.unity3d.com/threads/226187-iOS-Advertising-Identifier-rejection-FAQ/page2

  9. @Andry you can build a custom PostBuildProcessor that will patch those files for you with the required changes. That might work.

  10. @DLEIGHT, I posted answer on UnityAnswers

  11. @Andy, yes, you can do it for any Unity iOS .mm file. But be careful with, if you break something, it will affect all the project.

  12. Thanks for posting this. My app was rejected due to “crash on launch” which I cannot recreate on any of several devices including what Apple tested on (iPad Air). According to the crash logs, the crash is being caused by verifyiphonesplashscreen.cpp which seems to be a file that Unity is producing. I have a major deadline and am desperate for any help. Here is the what I posted to answers: http://answers.unity3d.com/questions/636918/verifyiphonesplashscreen-causing-crash-on-launch-o.html?sort=oldest Causing Crash on Launch on iOS?

  13. The part that interests me the most is how to change the template that is generated from Unity. Is this possible to do for any Unity ios .mm file?