How can I solve this.
I an using Unity 3.0.
I had posted this app with a previous version of Unity.
cannot be posted to the App Store because it is using private or undocumented APIs:
Spi Symbols
proc_name
_NSGetEnviron
As you know, as outlined in the iPhone Developer Program License Agreement section 3.3.1, the use of non-public APIs is not permitted. Before your application can be reviewed by the App Review Team, please resolve this issue and upload a new binary to iTunes Connect.
“_NSGetEnviron is used by the Mono runtime to provide an implementation of the .NET core API method: Environment.GetEnvironmentVariable().”
“In order for us to solve this problem we simply removed any calls to _NSGetEnviron and exc_server. Update Unity iPhone 1.5.1 was sent out to developers days ago. Most of them have already resubmitted their Apps to the AppStore with the functions removed. Unity iPhone 1.5.1 will go live this week.”
–posted November 2009
I would venture a guess that you built your app with something earlier than unity 1.5.1. Is this the case? If so, perhaps you should rebuild with Unity 1.7 and resubmit.
thats as wrong as it just can get. There have been quite a few beta build driven apps on the app store in the past as noted here and in other places.
But its good it was found now, ensure you bugreport it, so it can be fixed.
B3 changed the underlying mono base so there is a good chance that the fix applied back with 1.5.1 didn’t make it back in yet
I had the same exact thing happen to me this morning. I submitted a binary to Apple and it got rejected saying I was using a 3rd party API and I know I’m not. It’s just a straight build from Unity with absolutely no changes to the autogenerated XCode project. I’m currently using Unity 3.0 beta version 3.0.0b3 and iPhone Advance.
I don’t think it’s anything to worry about, unless you really need to submit something with Unity 3 features between now and the end of July. There’s a known issue with dynamic batching as well that UT says is only a beta thing and will be squared away in the final release of Unity 3.
I figure they are ironing out the new stuff in beta first and adding legacy functionality at the end of the development cycle.
Please don’t think I’m making light of your game not going through. I had to wait on the private API fix in the 1.5 version of Unity, I know what it’s like. But Unity handled that last private API thing with aplomb, and I’m confident they will with this one as well.
Did the Apple rejection says it was due to using “3rd party API” because that doesn’t really make sense. Or did it say the rejection was because of the use of a “private API”?
@Dreamora
Beta software by its very definition is not a full production release software. Sure you can release apps with a beta version of Unity 3.0, but user beware