Critical Showstopper - Cannot upload Corona build app to the app store

@007.

It’s fixed now!

You’ll have to re-download the public build though as the old one compiles with Xcode 5.0.2, which Apple will reject according to their new policies. 

After re-compiling, re-submit to Apple and you should be fine.

@Ingemar, when you say fixed, is it just as simple as download the dmg from https://developer.coronalabs.com/downloads/corona-sdk and then build and upload??

I am doing all the jugglery and leaps of faith that all are suggesting, though I do not see any new dates on the files, etc. So not sure where the update/changes have been applied.

While I await your reply, I am downloading and trying that… thanks in advance (if it works) I did say a couple of times that it is the _ Corona Workflow _ seems to be the problem.

Update: On creating a build after downloading the Public Build now and attempting to upload it to the app store, … The Same Error

Could you please point me to the new updated Public Build that you mentioned, the one found above is definitely not it.

is it just as simple as download the dmg from https://developer.coronalabs.com/downloads/corona-sdk and then build and upload??

Yes, I believe so.

When I tested 2189a yesterday I saw it was still building with Xcode 5.0.2 internally.

I reported it and this morning they said it was fixed.

My testing shows that it *now* builds with Xcode 5.1.1 which should get rid of the “ITMS-9000” error.

How can I see that and post the report / console log here (if it helps to debug and fix the issue)

You’re still getting the “ITMS-9000” error?

It’s OK if the dates of the 2189a files are the same. The build change is done on Corona’s server. 

When I was referring to the “old 2189” I meant the one without the added “a” at the end. That version still compiles with the previous versions of Xcode that get rejected by Apple.

With 2189a you should be able to go ahead and build and upload to Apple now.

To be on the safe side install the one you downloaded today “just in case” :slight_smile:

Unfortunately Yes :frowning:

The certificates are all new, re-created, new build made, config file as outlined above, the only thing left to try is making a blank dummy .app and try to upload it to the app store to check the certificate, since it is for a client I am not very daring to try that.

this is just so frustrating

I will try again and see if it works…

If you have control over the upload process, uploading a dummy app isn’t much of a problem as I see it, as you can reject the app yourself immediately (if it gets accepted)

To check if it’s building with Xcode 5.1.1, use Finder to locate the app bundle.

Right click it and choose “Show package contents”.

In there you’ll find “Info.plist”. open it and look for DTXcodeBuild and DTXcode, they should be 5B1008 and 0511 respectively.

If you have something else then Corona is compiling with the wrong version.

Engineering’s fix was on the server side, so you should not have to download a new 2189a.  If you’re running the older 2189, you will need to get 2189a.  They are saying (and have tested in the office) that this is working.

I however expect that you are NOT getting the same error this is trying to fix.  That error produces this error message:

"ERROR ITMS-9000: "This bundle is invalid. …Do not submit apps using beta software"

with build 2303

The error you are getting is about a bad provisioning profile.  The error you are getting reads (at least according to your post above):

The bundle <bundle> at bundle path <application.app> is not signed using an Apple submission Certificate

I’d like to see the exact error you’re getting.  But this message means that when you hit build you either built using a Developer profile or an AdHoc distribution profile instead of a Store distribution profile.   This is is something you have to solve with KeyChain Access and the Provisioning Portal.  You may need to clean out everything.

Rob

@Rob

OMG, How did I miss that??

I got hung up on “ERROR ITMS-9000” and the fact that DTXcodeBuild was incorrect for builds that were compiled with 2189a when it was first released. At least one issue was fixed, but it was the wrong one as far as this case is concerned… bummer.

Re-reading the first post (*thoroughly* this time  ;)) it’s definitely a nasty certificate problem.

Here’s the Info.plist and the embedded provision certificate, I even tried running codesign to see the same. I am at my wits end.

@Rob, The certificate *IS* a distribution certificate, this is not the first time that I am uploading an app to the app store.

I can attach a screenshot that shows that the Distribtution Certificate is chosen when the build is chosen.

On completion of the build, the corona build process runs validation and I get an all OK. In fact I even thought that Corona uses the wrong certificate while compiling/building so using codesign and other utilities I have had a look and the certificate is a proper distribution certificate and NOT an Ad Hoc or Developer.

I am just short of buying a new mac so that I can compile with Corona and update this application since I have cleaned up all the mobile provision certificates, re-created just this certificate and still the same.

Is this something to do with the fact that my subscription *used* to be PRO but since it has not been renewed, Corona is doing something that prevents the build?

Please tell me what logs/screenshots you need to resolve this, I can provide them to you, I need to get this resolved.

I will try that last bit of a dummy .app but if that works, what could the issue really be???

@007

Have you checked your keychain on your Mac (using Keychain Access) to verify that you don’t have any duplicate or invalid certificates?

(BTW, Info.plist is perfectly fine. Xcode 5.1.1 is being used)

@007

Yet another question.

How do you get your certificates into Xcode? 

Do you do it manually (download, etc, etc), or do you let Xcode do the work for you?

@Ingemar,

 Download it from the Portal using SAFARI and then double clicking it which starts xCode and installs it in the MobileProvisions directory. Then shut down Corona entirely and restart it to get the updated list which includes the Distribution profile.

Have you tried letting Xcode do the work for you instead?

I’m not sure, but it *might* just clean things up. I can explain how if your haven’t tried it before.

@ingemar, thanks for that, but I had downloaded all the certificates via xcode initially.

I made a standard application in xCode and let xCode make an archive and then validate and upload it using the certificate that is installed. It worked without a hitch and quite fast.

I ran another application to check the .app,

The difference between the .app created by Corona and xCode was the object Code format is

Corona -> “bundle with generic”

xCode -> “bundle with Mach-O universal (armv7 armv7s (16777228:0))”

The remaining stuff like the certificates, code signature, etc are the same.

Now I can’t simple replace the .app in the .xcarchive

So the outcome of this exercise was that the Certificate is ok and not an issue as the focus has been, the issue is that the .zip created by Corona is not liked by Application Loader for some reason and that has started with the new version of xCode.

If Corona can modify the settings for the xcode project from the back end on the server, I believe there is something that needs to be done there at the backend servers.

If it helps this app is not Universal and is build only for a single iOS device and in the build.settings the CFBundle entries are uncommented to make them specific than to avoid the com.bundle.IDENTIFIER type dynamic setting.

Any suggestions now?

I have an app that needs to be updated soon so I created a new version and uploaded a dummy app to test the uploading procedure.

I compiled it with 2189a (Public version), and I also added your specific CFBundlexxxxx settings to my build.settings. It uploaded fine:

and the binary details look like this in iTunes Connect after being uploaded:

I’m at a loss to why your setup doesn’t work.

@007

What happens if you remove CFBundleIdentifier from build.settings and resubmit?

It’s not really necessary as it will pick the identifier from the distribution profile you sign it with (unless the distribution profile has a wildcard in it)

@ingemar, it is the same with and without the CFBundle settings, it fails.

The device family is not Universal in my case, it is available only for the iPhones.

I appreciate you putting in time to help me resolve this.

I dug a little deeper to see what Application Loader does… it keeps creating this .itmsp file which is the package that it uploads to App Store created in the /var/folders/ path. the generated metadata.xml file has a software_assets key now could the error be pertaining to this?

Corona used to generate a metadata.xml document so maybe you can help here…

But the bottom line remains that it is unable to upload, really frustrating…