Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Critical Showstopper - Cannot upload Corona build app to the app store
Started by 007 May 22 2014 06:25 PM

- - - - -
50 replies to this topic
build error certificate app store upload distribution update xcode
[TOPIC CONTROLS]
Page 2 of 3 1 2 3
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#26

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

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

OrganiserArchives.png

 

AppWaitingForReview.png

 

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?

 



[TOPIC: post.html]
#27

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

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.



[TOPIC: post.html]
#28

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@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)



[TOPIC: post.html]
#29

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

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



[TOPIC: post.html]
#30

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

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...



[TOPIC: post.html]
#31

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@007

Is sure is weird since you can upload a dummy app from Xcode using the same certificate. 

To make matters even more strange, I can upload an app compiled with Corona 2189a as seen above.



[TOPIC: post.html]
#32

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@007 

 

Just a thought: Do you have any AdHoc certificates for this app?

If so, maybe Xcode is choosing that instead of the App Store Distribution profile...



[TOPIC: post.html]
#33

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

As you can see there is just one profile, I deleted the rest of the profiles. So there isn't any other AdHoc or other certificate left there to have chosen incorrectly.

 

BuildMenu.png



[TOPIC: post.html]
#34

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

@007

Is sure is weird since you can upload a dummy app from Xcode using the same certificate. 

To make matters even more strange, I can upload an app compiled with Corona 2189a as seen above.

 

That is what puzzles me most, that the certificate is right as it is accepted when a dummy app is uploaded.

 

Just a thought, you are an enterprise customer and current, where as my account was a PRO and no longer valid so could there be something there? If it was not critical for the client to get the updates to the new version I would have not bothered.



[TOPIC: post.html]
#35

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Let's see if we can sort this out...

 

 

This is the dummy Corona app I made to upload to Apple. I was able to upload it without any issues.

Try compiling this with Corona 2189a without modifications, using your distribution certificate.

Let's see if Apple will accept it or not when you try to upload it...



[TOPIC: post.html]
#36

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 26,399 posts
  • Enterprise

@007, the screen shot of your build settings really doesn't help show the issue.  Look at my build settings profiles:

ProvProfile2.png

 

Notice I have 4 "Distribution" profiles.  However only one of them is for the store.  I specifically name mine with the phrase "Distribution" or "AdHoc" when I create them.  Both will show as "Distribution" on that screen.

 

Rob



[TOPIC: post.html]
#37

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

@Rob

The strange thing is that he can build an Xcode dummy app, sign it with his certificate and Apple accepts it.

However, his Corona compiled app isn't accepted when using the same certificate.



[TOPIC: post.html]
#38

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 26,399 posts
  • Enterprise

I just built an app with 2189a, using a known Distribution (for the store) and it uploaded just fine.

 

This points to an Xcode or profile problem. 

 

Rob



[TOPIC: post.html]
#39

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

I know... I've been able to compile and upload with 2189a too.

That's what's weird with his setup since he can compile and upload a native Xcode project with his profile...



[TOPIC: post.html]
#40

Rob Miracle

[GLOBAL: userInfoPane.html]
Rob Miracle
  • Moderator

  • 26,399 posts
  • Enterprise

I don't know if Xcode is using the profiles in ~/Library/MobileDevice/Provioning Profiles or not.  It's possible that a rogue profile is there.  Perhaps it's worth it to delete everything out of there and re-download them.  I generally don't use Xcode to manage these.  I download them by hand and move them to that folder.

 

Rob



[TOPIC: post.html]
#41

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

I do the opposite and let Xcode do the work, since Xcode knows where it wants them...

 

We'll have to wait and see if the OP can shed some more light on this issue armed with the advice we've given...



[TOPIC: post.html]
#42

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

Hi,

Finally I got that to upload to the app store.

 

The certificates are all fine, the problem was not with the certificates but strangely with the name of the app. What is more confusing is that the same name was used from xCode and it worked not when build with Corona.

 

However Apple immediately send an email, which starts that process over again.

 

Your delivery was successful, but you may wish to correct the following issues in your next delivery:

Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0.

Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature's entitlements do not include the "aps-environment" entitlement. If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the "aps-environment" entitlement. See "Provisioning and Development" in the Local and Push Notification Programming Guide for more information. If your app does not use the Apple Push Notification service, no action is required. You may remove the API from future submissions to stop this warning. If you use a third-party framework, you may need to contact the developer for information on removing the API.

If you would like to update your binary for this app, you can reject this binary from the Binary Details page in iTunes Connect. Note that rejecting your binary will remove your app from the review queue and the review process will start over from the beginning when you resubmit your binary.

 

 

So, that starts the process over again...

 

The project has two files of *exactly* 120x120 called Icon-60@2x.png and Icon-120.png which were created for the earlier version of the app and worked, however this time around it did not recognize them. Do I have to create CFBundeIcon entries to resolve that?

 

UPDATE: I guess I have to add to the build.settings file it is no longer Automagically added as it used to be before.

 

and what about the 'aps-environment' I am only using local notifications not remote, and nothing has been set in the app id entitlements that suggest that I would be using any notifications.

 

AppEntitlements.jpg

 

so thanks and suggestions on these two new issues?

 

Update: From the discussion here http://forums.coronalabs.com/topic/34789-non-public-api-usage-missing-push-notification-entitlement-email-from-itune-store/?hl=%2Bmissing+%2Bpush+%2Bnotification+%2Bentitlement I get that this issue can be ignored for now.

 

Do I have to update a new build with the 120x120 icon or are solutions to both the issues - Ignore, as AppLoader showed the icon issue as a warning not an error while uploading.



[TOPIC: post.html]
#43

ingemar

[GLOBAL: userInfoPane.html]
ingemar
  • Corona Geek

  • 2,733 posts
  • Enterprise

Great news! Finally it worked  :lol: !
 
Just curious though... 
Did your app name have anything other than alphanumeric characters?
 
The Push notification thing can be ignored. Everybody seems to be getting that warning.
 
I'd say the same could go for the icon warning. However I'd fix that just to be on the safe side. Even though it's just a warning, you never know if you get a reviewer who's following the book "200%". Just specify all your icons in CFBundleIconFiles in build.settings and you should be fine.


[TOPIC: post.html]
#44

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

Ingemar and Rob, firstly thanks for all the time and effort you put into this, really appreciate that.

 

No the name had no accented characters or spaces or numbers or punctuation marks and NOT even foul language or banned/censored words.

 

This was actually quite strange since with that name I could get xCode to upload and work fine, but not otherwise.

 

I have told the client that if it gets rejected, we'll fix it otherwise "Don't fix what's not broken" ;)

 

I will set that, could I also make a request - if the backend at the build servers could add these by default it could save the additional hassles. Especially since Apple makes it mandatory to use these recommendations for iOS7. I personally feel that in a simple application we now have like more files specifying icons - repetitively in so many sizes.

 

Again, thanks for that - I hope not to face those kind of issues again, but if I do - I know one person to turn to ;)



[TOPIC: post.html]
#45

russm305

[GLOBAL: userInfoPane.html]
russm305
  • Contributor

  • 440 posts
  • Corona SDK

@007   I have this same exact problem.  How did you solve it exactly? Where did you change the name of your app?  Here are things that I did recently that may have set this off...

 

 

My IOS Distribution Certificate expired 2 weeks ago so I created a new one today.

 

My Corona Pro recently expired and I just purchased Basic today

 

What about updating an older app, can you do that?



[TOPIC: post.html]
#46

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

Good News and Not such Good News.

 

The App got approved by Apple and the update is available on the app store (must be the WWDC backlog clearance)

 

Now for the not such good news....

 

The app breaks Graphically speaking, it is the Graphics 1.0 and 2.0 issue despite the 'graphicsCompatibility = 1'

 

I am using the camera and the images snapped do not work. There is no way to debug on the device with Corona so I cannot pin point where and what the issue is.

 

All my client wanted was to change some text and to simply do that,

 - Apple wants you to compile with the latest edition of xCode and support all the lastest, my client does not want to support iOS7

- Corona to fix a workflow pushes Graphics 2.0. Can you not just change the workflow with the earlier version? A lot of fixes in older apps might simply require adding text or simple stuff, no dazzling Graphics 2.0 enhancements, so why force a change and what could have been a 5 minute task becomes a week's worth.

 

This is like the iPad Retina issue, where the apps just broke and were displayed oddly on the screen.

 

Who can I bill for this? The client?? What's their fault, the problem lies with the new version of CoronaSDK that uses Graphics 2.0.

Sometimes FREE is more expensive than paid for.

 

@russm305, I do not know what your app does, so when you update it (if it was written with an older version of corona) be prepared for interesting times ahead trying to debug and fix the issues in code.

 

As for the certificates, I had to delete everything and recreate the certs. Make sure that you remove everything, because Apple has buggered this process, when XCode manages your profiles, it creates TeamID's and don't know why, it keeps changing that everytime. I have a bunch of TeamID's and NONE of them match the ID provided to my account when I create the basic certificate to associate these profiles with.

 

So let xCode take charge and create everything for you, Apple wants to control the entire process.

 

Not a happy camper - sheer waste of time and resources on getting a simple thing fixed.



[TOPIC: post.html]
#47

russm305

[GLOBAL: userInfoPane.html]
russm305
  • Contributor

  • 440 posts
  • Corona SDK

@007 i built with build 2139.  I just deleted and re-created all the certificates still didn't help.  You said above...

 

"The certificates are all fine, the problem was not with the certificates but strangely with the name of the app. What is more confusing is that the same name was used from xCode and it worked not when build with Corona"

 

...so did you have to change the name of your app, if so where?  What about your App Distribution Profiles?  Did you use ones you had crated previously or did you have to re-create App Provising Profile for the App?



[TOPIC: post.html]
#48

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

@russm305,

 If for example your app is called 'clock' and is not being accepted by App Loader, then try to use 'clocky' instead or 'clocker' and in the CFBundleName you can set it display 'clock'

 

I did not have to re-create any certificates, but if you have changed the keys then you might have to recreate all of the same. However if you want to update your app, you do not have to re-create any new certificates, the same ones will work. Do check that you have updated the version otherwise Apple will not let you uppload the app.



[TOPIC: post.html]
#49

russm305

[GLOBAL: userInfoPane.html]
russm305
  • Contributor

  • 440 posts
  • Corona SDK

Im sorry where would  I change it to 'Clocky'?   In the Application Name when I am creating the IOS build from the simulator?

Where is CFBundleName?



[TOPIC: post.html]
#50

007

[GLOBAL: userInfoPane.html]
007
  • Observer

  • 23 posts
  • Corona SDK

@russm305,

1. The name of the app is generally the name of the directory (in CoronaSDK) where you have the lua files, so if you call it myapp-phaseII-tempfiles, then that is the name it will show by default and compile to that name.app

 

2. The CFBundlexxxx flags are plist flags and are set in the build.settings file3

 

3. When you say that your app is being rejected, if you can share, what is it called? Is it a reserved word of any kind?

 

On what I suggested in the last post, Corona prompts the name of the directory as the name of the app, now your app could be called Clock but since iTunes is not accepting it, you change it to clocky when you go to build the app. But it would be quite odd to see that on the homescreen (after the app is downloaded by an user) that is where you set the CFBundleDisplayName to Clock so the name shown under the icon will still show clock, but the app name is clocky.app

 

Hope you get to upload your app soon.




[topic_controls]
Page 2 of 3 1 2 3
 
[/topic_controls]