Search Unity

_NSGetEnviron - App Rejected Version 3.0

Discussion in 'iOS and tvOS' started by JOHN_TAMPA, Jul 14, 2010.

  1. JOHN_TAMPA

    JOHN_TAMPA

    Joined:
    Jul 14, 2010
    Posts:
    3
    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.

    Sincerely,

    iPhone Developer Program
     
  2. loopyllama

    loopyllama

    Joined:
    Apr 6, 2009
    Posts:
    71
    search is your friend!

    http://blogs.unity3d.com/2009/11/14/unity-iphone-app-store-submissions-problem-solved/

    "_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.
     
  3. JOHN_TAMPA

    JOHN_TAMPA

    Joined:
    Jul 14, 2010
    Posts:
    3
    I saw that for 1.51, but I built this with 3.0.
     
  4. loopyllama

    loopyllama

    Joined:
    Apr 6, 2009
    Posts:
    71
    Unity 3.0 is not released yet. If you have a version of unity 3.0 it is a beta version not created for production releases.

    You need to build with unity 1.7 and target sdk 4.0!
     
  5. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    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
     
  6. foobar

    foobar

    Joined:
    Jan 28, 2010
    Posts:
    90
    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.
     
  7. kenlem

    kenlem

    Joined:
    Oct 16, 2008
    Posts:
    1,630
    Whatversion of the .net runtime did you use?
     
  8. EricJ13

    EricJ13

    Joined:
    Feb 28, 2009
    Posts:
    355
    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.
     
  9. Randy-Edmonds

    Randy-Edmonds

    Joined:
    Oct 10, 2005
    Posts:
    1,122
    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"?
     
  10. foobar

    foobar

    Joined:
    Jan 28, 2010
    Posts:
    90
    Sorry, yeah it said private API not 3rd party. I was using .net 2.0
     
  11. junkotron

    junkotron

    Joined:
    Feb 22, 2009
    Posts:
    158
    if using .net 2.0 is the problem then doesn't that mean that Brady's EZ Gui is no good for iphone/ipad since it requires .net 2.0?
     
  12. loopyllama

    loopyllama

    Joined:
    Apr 6, 2009
    Posts:
    71
    @John
    You can resubmit your app with Unity 1.7

    @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
     
  13. Wozik

    Wozik

    Joined:
    Apr 10, 2009
    Posts:
    662
    this issue is back due to the mono upgrade we made for the beta 3. Now we resolved that issue and it will be available with the beta 4 this week.

    Please do not submit to the appstore with the beta 3.