| View previous topic :: View next topic |
cmh322
Joined: 03 Apr 2009 Posts: 70
|
Posted: Thu Nov 05, 2009 4:10 am Post subject: App Rejected due to "usage of Private 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.)? |
|
| Back to top |
|
|
cmh322
Joined: 03 Apr 2009 Posts: 70
|
Posted: Thu Nov 05, 2009 8:42 am Post subject: |
|
|
|
UPDATE:
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. |
|
| Back to top |
|
|
mantasp Unity iPhone Developer
Joined: 13 Nov 2008 Posts: 259
|
Posted: Thu Nov 05, 2009 4:19 pm Post subject: |
|
|
|
Hello,
_NSGetEnviron is used by Mono runtime to provide implementation of .NET core API method: Environment.GetEnvironmentVariable().
exc_server is also used by Mono runtime to provide graceful NULL reference exception handling.
Both these references do present in all applications built with Unity iPhone and it never was a cause for application rejection.
If negotiation with Apple gets too slow or becomes obviously fruitless I would recommend just resubmit the same application as new one. Many users solved their rejection problems in a such way. _________________ Mantas Puida
Unity Technologies |
|
| Back to top |
|
|
Crazy Robot

Joined: 18 Apr 2009 Posts: 286 Location: Hollywood, Maryland
|
Posted: Thu Nov 05, 2009 4:45 pm Post subject: |
|
|
|
This concerns me a little, when I submit an app, I have to wait 2 weeks before it gets rejected only to resubmit and wait another 2 weeks? Is Unity breaking a rule by calling these or not? Can we find documentation from Apple that state calling these are ok? Or is there documentation stating the opposite? _________________ THE INFINITY PROJECT
http://itunes.com/apps/theinfinityproject/
Check out our new game at:
www.crazyrobotgames.com |
|
| Back to top |
|
|
cmh322
Joined: 03 Apr 2009 Posts: 70
|
Posted: Sat Nov 07, 2009 1:37 am Post subject: |
|
|
|
*UPDATE*
I have an update, and it ain't pretty...
I got off the phone with Apple, who stands by the rejection saying that the two calls they referred to as private APIs cannot be used. He said for our game to pass, we would need to have them removed from the binary. Unfortunately, we cannot do that as they are part of the Unity engine. He implied that they are scrutinizing things more and if the app fails the check it will be rejected.
Obviously, it doesn't appear many Unity games are getting rejected over this. But that could start. Most of us are familiar with how arbitrary and subjective that whole process is (so much so, that people at Apple have called it arbitrary and subjective).
Would appreciate it if Unity could comment on the possibility of not referencing private APIs in a build. I certainly don't blame them, especially since games built on their engine have been approved without problems (our past Unity games have been approved); I feel this is just another way Apple passive aggressively demonstrates their hatred for developers Still, if the engine does make use of those methods and Apple is being more diligent about searching for them, I need to know I am not spending months on a gamble.
Would love it if Unity did a port for Android too; I'm tired of this Apple BS.
Thanks |
|
| Back to top |
|
|
InternetCodesmith

Joined: 29 Oct 2009 Posts: 26 Location: Texas
|
Posted: Sat Nov 07, 2009 1:44 am Post subject: as a new Unity Iphone Dev... |
|
|
|
| As a new Unity iPhone developer, I want to see an answer to this also. This makes the tool useless to me, if I can't sell my apps. |
|
| Back to top |
|
|
Gaspedal
Joined: 29 Mar 2009 Posts: 225 Location: Germany
|
Posted: Sat Nov 07, 2009 1:53 am Post subject: |
|
|
|
please let us know what happens when you resubmit your app.
This concerns me too because I make a game for a company and I don't want get problems with they.
A important point for us.
My latest game iStarForceFighter is already on AppStore, but it's created with unity 1.4. I don't know if it includes this API call. |
|
| Back to top |
|
|
JasonAsbahr
Joined: 22 Oct 2008 Posts: 3
|
Posted: Sat Nov 07, 2009 3:05 am Post subject: Us too |
|
|
|
We just received a rejection notice for this very reason.
- Jason |
|
| Back to top |
|
|
Jessy

Joined: 07 Jun 2007 Posts: 4396 Location: NE Ohio, USA
|
Posted: Sat Nov 07, 2009 3:28 am Post subject: |
|
|
|
This is a giant load of bullcrap and we need to get this public. Any tips on how to get this seen by a lot of eyes? Apple has a history of relenting on their stupidity after people complain about it. Here's one example:
http://www.macrumors.com/2009/05/07/apple-reconsiders-and-approves-nine-inch-nails-app-update/
I think we could use some big players who are willing to come forward. Who has actually made a lot of money for Apple with their game other than the Zombieville people? |
|
| Back to top |
|
|
jerrodputman

Joined: 04 Jun 2008 Posts: 158 Location: Orange County, CA
|
Posted: Sat Nov 07, 2009 3:39 am Post subject: |
|
|
|
Has this been reported as a bug using the bug reporter? I think since we have word of multiple developers having this issue that Unity needs to either get on the phone with Apple about this issue, or they need to modify how the engine operates.
I realize that it's not really Unity that's at fault but the ever-moving target of the black box known as App Store approval. But unfortunately, the only ones who can do anything about this is Unity at this point.
edit: A client of ours will be submitting a game we developed for them using Unity tonight. I'll post back here if they run into any issues. It's wonderful that Apple decides now's the time to start doing this when we've got lots of projects all getting finished up. _________________ Jerrod Putman
Tiny Tim Games
Games: Word Monkey | Sheepstacker |
|
| Back to top |
|
|
cmh322
Joined: 03 Apr 2009 Posts: 70
|
Posted: Sat Nov 07, 2009 4:44 am Post subject: |
|
|
|
@JasonAsbahr: Sorry to hear that. You seem pretty calm about it. We were discouraged. And pissed.
@Jessy @jerrodputman: Totally agree. We need to do both; complain to Apple (which rarely works) and ask Unity to (a) contact Apple to figure out what's going on and (b) get us an update that doesn't include the offending methods (and any others Apple will complain about).
This sucks for Unity because there was no reason to assume any problems. But...with rejections now occurring based on these methods, every submission is a gamble. We need this fixed yesterday; we were in review for over 3 weeks before getting the rejection notice.
Friggin' Apple. Our last app was rejected because we decided to forgo running ads and instead endorsed a charity. Apparently, you can't endorse a charity, so heads up to those looking to do the same. |
|
| Back to top |
|
|
AmazingRuss

Joined: 25 May 2008 Posts: 722 Location: California
|
Posted: Sat Nov 07, 2009 5:00 am Post subject: |
|
|
|
Terrifying. I submitted Ravensword a week ago, and I have just barely enough money to carry me 60 days until I start getting paid.
My partner would absolutely freak if he heard this. _________________ http://www.CrescentMoonGames.com |
|
| Back to top |
|
|
cmh322
Joined: 03 Apr 2009 Posts: 70
|
Posted: Sat Nov 07, 2009 5:06 am Post subject: |
|
|
|
| AmazingRuss wrote: | Terrifying. I submitted Ravensword a week ago, and I have just barely enough money to carry me 60 days until I start getting paid.
My partner would absolutely freak if he heard this. |
Know just how you feel. It seems like this is a test Apple is just starting to apply, and as with all things App Review related it seems hit or miss, so hopefully you get through safely. |
|
| Back to top |
|
|
Eric5h5
Joined: 19 Jul 2006 Posts: 10851
|
Posted: Sat Nov 07, 2009 5:52 am Post subject: |
|
|
|
| Gaspedal wrote: | | My latest game iStarForceFighter is already on AppStore, but it's created with unity 1.4. I don't know if it includes this API call. |
There isn't any version 1.4...there's 1.0, 1.0.1, 1.0.2, 1.0.3, and 1.5. The latest version of my game was submitted with 1.1 (now known as 1.5), and had no issues, but that was a few months ago. Also it was an update and not a new game.
--Eric |
|
| Back to top |
|
|
Crazy Robot

Joined: 18 Apr 2009 Posts: 286 Location: Hollywood, Maryland
|
|
| Back to top |
|
|