Search Unity

Apple App Store Submission - Processing ...

Discussion in 'General Discussion' started by ajgr, Sep 17, 2014.

  1. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    If this is redundant please disregard, but we lost an entire week to this and I know others are in a similar boat. So maybe it can lead to a solution and save others some time. The issue affects iOS and Mac OS submissions to the Apple App Store.

    We currently have a 3 builds of a Mac app in processing since over a week ago. The first submission got rejected, and all subsequent submissions ended up in that infinite loop and just say: processing ... . The problem is that an app only gets to review once it is done processing. We contacted Apple and finally got an answer.

    If a build exists (i.e. the rejected app) all subsequent submissions will go to processing and stay there forever. There is no method to delete them from there. In order to have a new build processed successfully and reviewed the build number of the new submission must have been increased via versioning. Not the app version - the build number. They suggest to use agvtool.

    Now, first of all, Unity does not expose a build number and AFAIK has no facility to use Apple Generic Versioning or anything like it. Even that, however, might not help, because chances are - and this is unknown at this time - that the only version the App Store "sees" is that of the Unity Player. So there is no way to increment that at all.

    What it looks like right now is that the only way to get an app into the iOS or Mac store is to get lucky with the first shot. After that there is currently no way to get in a new version, update etc.

    If anyone here has a solution, that'd be fantastic. The guy at Apple didn't and is escalating this issue upwards.
     
  2. funin

    funin

    Joined:
    Feb 13, 2014
    Posts:
    2
  3. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    You misunderstand the issue. Everyone knows how to use agvtool, Xcode, etc. Mac OS builds in UT never even go to Xcode and in general all UT apps are basically hosted in a player app. Thanks though.
     
  4. manutoo

    manutoo

    Joined:
    Jul 13, 2010
    Posts:
    523
    ajgr,
    I didn't create any .app with Unity, but on Mac OSX, this may work with all .app :
    - right click the .app
    - click show content
    - go to Contents
    - edit Info.plist and change the version number (I think it's the one under <key>CFBundleVersion</key>, but not 100% sure)

    So it'll be changing the Unity player version, but in the current situation, it should be ok enough.

    And maybe it works same for iOS .app ..?
     
  5. Gigiwoo

    Gigiwoo

    Joined:
    Mar 16, 2011
    Posts:
    2,981
    Is this issue new? I have not seen with my past iOS rejections (~6 over 3.5 years). I have seen that with the new Developer website, you can no longer change the description of your app without submitting a new build. Good thing for them, they don't have to live up to their own standards...

    Gigi
     
  6. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    @Gigiwoo
    Yup - this is new. And it is fairly complicated. This only affects Unity - not your regular Xcode projects (since those people keep chiming in). There is also a difference between iOS and Mac OS uploads.

    I just got this directly from Apple:

    Thank you for providing me the additional information about this situation. I can confirm for you that our new system requires versioning of the app and the build for a successful submission.

    If Unity does not support this, you will need to follow up with Unity for support moving forward.

    We provide developers with development tools necessary to deliver builds successfully (Xcode and Application Loader), if you choose to use a third party tool to develop your app, it needs to be compatible with our system.

    We are unable to support developers using third party tools to create or develop apps. I apologize for any inconvenience.

    So there we go. This is in regard to our 3 build uploads that are all stuck in processing for now close to 2 weeks. It is the complete catch-22. I sent an email regarding this to Unity support and am waiting. :)
     
    Last edited: Sep 17, 2014
  7. dvirus1023

    dvirus1023

    Joined:
    Mar 4, 2013
    Posts:
    51
    When you build in Unity it creates an xCode solution. So why can you not just open it and increment the build number?
     
  8. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    I don't think Mac apps have xcode project at all and they are just merged in to some prebuilt player(?).

    iOS projects are a different thing and you can mess around with the xcode project or even modify Unity's project generator as its open source now.
     
  9. dvirus1023

    dvirus1023

    Joined:
    Mar 4, 2013
    Posts:
    51
    Gotcha, Did not realize that they were different.
     
  10. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    First of all - that is not true for Mac apps. For Mac apps UT builds the binary directly. As far as iOS app are concerned, that is a possible way to go. Just add another pipeline step. But - the other issue at hand is that both Mac and iOS apps are essentially Unity Player apps. Your game is hosted in the player app. And at this point the assumption is that the new App Store environment collects the build version of the player - not the hosted game.
     
  11. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    I can only talk about iphone apps.

    My Unity game was accepted last week end, since i uploaded a new version. A little after that i decided to upload another build with a bit more stuff.
    I build the project from Unity.

    Then in Xcode :
    within "target > iphone", "general" tab you can see the version and build number. Change the builder number (im at 1.4 right now for 1.1 version)
    Then submit that build via "archive"

    Within Itunes connect :
    I had to remove the current build from submission.
    Then in the build section you click the "+" and pick your new build, it appear like this : version ( build )
    For me it appear like this : 1.1(1.4)
    older builds appears too, just pick the one you want.

    i didnt get rejected yet so i dont know if it changes anything in the process.

    Hope that help
     
  12. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    @Etzean
    Yeah - I get that. But that is no solution for Mac OS and then there is the issue of the Unity Player. If you look at a Mac OS build's info, I will state Unity Player.

    When you upload that Mac app to the App Store maybe because you fixed something - you get a "redundant upload" error, because the App Store has already stored that version of the Unity player. It then gets stuck in processing.

    In the new environment you cannot delete any uploads anymore. They all go to processing and stay there. Only once they come out of processing can they be added to a submission.

    In our case we have one binary that has been rejected and three in the processing chain. We cannot reject any binary and the only binary we can add to a submission and have reviewed is the one already rejected.
     
    Last edited: Sep 17, 2014
  13. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    Yes i guess i don't understand what is your problem :/

    If you are in "processing" more than 15 minute its not nomal and you should try uploading again.
    If you try to upload a new version with a build already uploaded without changing the build value it's not gonna work.


    Yes it only shows the version number, which you can find in Xcode too. Unity build the Xcode project with the version you put within Unity but you can still change it in xcode if you feel like it.

    I don't think the version you put in Unity go futher than the xcode project file. And apple wouldnt care about how Unity would handle versions, it only care about what Xcode has.
     
  14. Elzean

    Elzean

    Joined:
    Nov 25, 2011
    Posts:
    584
    Also i don't know what's a bundle version, i'm talking about the build number which you have to change if you want to upload the same version more than once (i.e. rejected app)
     
  15. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    Yeah - I miswrote ; )

    So - you keep talking about Xcode/iOS and I have mainly Mac OS in mind. As in several of the posts above - there is no Xcode project for Mac OS. But, I think you are right as far as iOS is concerned. Just adding another pipeline step - as you do - and increasing the build number may work. So the problem maybe a Mac OS issue mainly.

    The best solution from UT would be to allow us to access an Xcode project for Mac OS as well. In fact that would eliminate close to 12 pipeline steps for us. Well - one can dream :)
     
    Last edited: Sep 17, 2014
  16. dvirus1023

    dvirus1023

    Joined:
    Mar 4, 2013
    Posts:
    51
    I think your best bet would be to build your .app binary in unity, and then go into that binary and manually modify the build number before submitting.
     
  17. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    Seeing that Apple won't move an inch on this and in all probability neither will UT, I am thinking you are right. It is a very hackish thing to do though and I am not quite sure as to how.
     
  18. dvirus1023

    dvirus1023

    Joined:
    Mar 4, 2013
    Posts:
    51
    Right click on the .app in Finder and click Show Package Contents. You then find the plist and update. I am not sure the location of the build number though. Will need to perform some searching to find it.
     
  19. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    The only build number exposed in there is the Unity build number, but that's the one the App Store sees apparently. Good luck with that :)

    UnityBuildNumber: e036f44c54c9
     
  20. JamesLeeNZ

    JamesLeeNZ

    Joined:
    Nov 15, 2011
    Posts:
    5,616
    Is there a staging area in temp similar to Android that you can use to get access to the relevant project files?
     
  21. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    Yes there is sort of. It is called Prerelease and is new (7-10 days). All uploads end up there initially and you are not allowed to delete any files from it. They end up in this big bucket first and typically get processed out in 15 minutes or so. Once done processing, the binary moves to the next stage and now can be added to a release as distributable - then the app can move to review.

    If you, however, upload an app with the same build number, it generates a redundant upload error that you are not being told about. The upload just keeps processing forever. No reviewer will ever see it, since it can't be added to a release version.

    Case in point - you get rejected with your first upload of a new game (as we did). The App Store now has the build number of the Unity Player and compares all subsequent uploads against that build number. You upload a fix, it goes into Prerelease and you start waiting, since there is no feedback. The redundant upload error is Apple internal only.

    At this point your game is now dead. Your first upload is still there and can still be added to the release, but it was already rejected. The fix you uploaded will never ever stop processing (redundant upload error) and hence never become available to be added instead. You can't go to review. Done. Dead.

    This is Mac OS. There is no Xcode project and so far the best suggestion is to hack the build number of the UT player app. Apple's response is above and UT's response - well - we're still waiting :)

     
    Last edited: Sep 17, 2014
  22. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    BTW: As you can see in the image, we uploaded the fix for the rejection on the 8th and waited, and waited and waited.

    Since we had gotten a warning that the app was too large, we shrunk it and uploaded a smaller version on the 15th of this month. Nothing.

    Then it occurred to us that there was no app icon visible in the portal. Usually with Mac apps once you upload your app, the icon is right there (this is very different from iOS submissions). Since we know what an abominable mangling job UT does to anything related to metadata in Mac binaries, we replaced the iconset and tried again. Nothing.

    And then we got that response back from Apple which kinda explained and sealed the deal.
     
    Last edited: Sep 18, 2014
  23. ajgr

    ajgr

    Joined:
    Nov 24, 2012
    Posts:
    29
    [solved - sort of]

    I did get another call from Apple and this time they were calling the behavior as experienced 'unexpected' and mentioned they had several cases of it - probably a lot.

    With Apple cleaning out the account, I was surprised to find out whilst investigating another matter, that the Mac App Store Toolkit by Jémast Software has a facility to manually adjust the build number of a Unity generated Mac OS app. There was a little confusion in regards to terminology, but the tool already works.

    To update the build number enter it in the field for "Version Number". We just use our svn commit number here.
    Then put the regular version number i.e. 10.9.4 into the field called "Short Version (opt.)". I was able to verify this process and also that Apple will actually read the build number of the app contained in the UT player, not the UT player itself.

    So there's another big plug for the Mac App Store Toolkit - and problem - apparently - solved :)
     
  24. mattSydney

    mattSydney

    Joined:
    Nov 10, 2011
    Posts:
    171
    Ajgr. Did you get this to work? I have tried using the Mac App Store Toolkit and updated the Version number but with no luck. I have 7 versions sat in "Uploaded status"