
New closer scrutiny by Apple will fail Unity iPhone submissions due to private API calls
Developers using the Unity development platform have run into problems getting their iPhone games approved by Apple.
The problem has occured due to two private API calls made by the Mono runtime used by the Unity engine: _NSGetEnviron and exc_server.
These two API calls have been linked to the recent controversy around allegations that developer Storm8 illegally harvested players' phone numbers.
That's not what they're being used for in the Unity engine, but judging by this angry thread in the Unity forums, developers are paying the price for Apple's increased scrutiny into these private APIs.
Touch Arcade reports that Unity has already updated its engine to avoid these issues, but games that have already been rejected by Apple will now join the back of the approvals queue once they're tweaked accordingly.
"Apple has completely unnecessarily screwed me over as hard as I have ever been screwed over in my life. I hope to one day return the favor," says developer Russ Menapace, whose hotly-anticipated Ravensword: The Fallen King game was rejected this week for these reasons.
Unity has addressed the issue and will presumably issue an update soon. Those close to shipping who need a quicker fix can contact Unity for a release-candidate build.
Um, it's not Apple screwing him over in this case. It's Unity. It's their 'wrapper' around Apple's API that is doing the wrong thing (namely, calling a private API), and Unity knows it. Unity is working on fixing the problem, but I don't think it's right to stretch this is Apple's problem.
And yes, I still think Apple's App Store approval process is seriously messed up.
Actually the calls were coming from a piece of library we uses so we didn't know, though one could argue we should have. However no problem had ever been raised over these (which were used in a completely harmless way of course) for over a year so we thought we were in full compliance.
When the problem emerged we spent day and night working on a fix, which is now being sent to iPhone developers who could be hit by this. The whole thing only took days and only a good handful of apps will be delayed because of this (another 350 or more are still happily live in the AppStore).
All that said we are sorry about the whole thing (and those developers whose apps were delayed) but we think this story shows that we are over-the-top dedicated to make sure to support Unity and it's users.
Best regards,
d.