App rejected Due to Non-public API

My App - which for some time has been in the App store is now being updated for the forth time. In the meantime Apple wanted me to update to Xcode 5.1. How I updated the App was by simply adding some more markers & some more 3d content - I’m using the Vuforia AR plugin and Unity iOS pro 3.whatever. Now the App - which runs fine on phone and iPad in iOs 6 and 7 won’t upload I get this opaqe message “App rejected Due to Non-public API”

and

“The app references non-public symbols in Payload /Myappname.app/Myappname: MPMoviePlayerContentPreloadDidFinishNotification”
…whatever the hell that is… a search won’t find MPMoviePlayerContentPreloadDidFinishNotification

  • Anyone know what the fix is? Is Unity a Non public API??

…seems to be the built-in punishment for trying to get something into the Apple store - the app of course runs fine on the device…

Yes, it’s deprecated now. You’re supposed to use newer APIs, which means using Unity 4.x.

Great i really wanted to be buying some more software!

Same issue is in Unity 4.5.2
UPDATE:
Issue was caused by OLD Flurry Ads, not an Unity issue.

Unity 4.5.x should not cause such troubles. Other people have reported that Flurry plugin was causing troubles for them.

For Unity 3.5 users I have manual patch to work around this problem. You can download it here: http://files.unity3d.com/mantas/3.5/libiPhone-lib.a.zip
Note: you can apply this patch only for Unity 3.5.7f6, applying it on any other version will cause crashes.
Instructions how to apply:

  1. Locate where your Unity 3.5.7f6 is installed
  2. Navigate here to the Unity.app/Contents/PlaybackEngines/iPhonePlayer/iPhone-Trampoline/Libraries subfolder (use Terminal.app or 'Show package contents feature in Finder)
  3. Overwrite existing libiPhonei-lib.a with the one coming from this zip.
  4. Rebuild your application, test video playback carefully and retry App Store submission with the new build.

Please let me know if it helped you