24/7 twenty-four seven

iOS/OS X application programing topics.

Unity が非公開APIを使っているからリジェクトになったという話

We just received word back from Apple that our app was rejected because we used the following non-public APIs:

_NSGetEnviron
exc_server

I only use Unity; we don't make any external calls, etc. So I have no idea why these calls are made, or where these calls are made.

Can Unity confirm if the engine makes calls to these APIs?

Anybody have this same issue, or know how I can track these down in code (ie, what in Unity invokes these calls, etc.)?

http://forum.unity3d.com/viewtopic.php?t=35744&postdays=0&postorder=asc&start=0

I used the nm tool to dump the symbols for the app and found references to both _NSGetEnviron and exc_server.

I then did the same thing with another Unity app, and the references were there too. (This particular app was approved).

Finally, I did the same thing with our non-Unity apps in the App Store and there are not any references to those two methods.

It appears that Unity does reference them, though I don't know if they are actually invoked.

Can Unity comment on their inclusion and whether or not they are invoked? I'm not sure what to tell Apple at this point.

http://forum.unity3d.com/viewtopic.php?t=35744&postdays=0&postorder=asc&start=0