My bad. Build was saved to project folder; resulting zip accepted for 4 previous apps. New restriction.
Saved build to empty “Staging” folder. Resulting zip accepted. Waiting for Review.
Thanks, Rob and Tom.
My bad. Build was saved to project folder; resulting zip accepted for 4 previous apps. New restriction.
Saved build to empty “Staging” folder. Resulting zip accepted. Waiting for Review.
Thanks, Rob and Tom.
Is there a step-by-step walkthrough for uploading a Corona app onto the app store?
I’m getting the same error as this thread title and am getting very confused. I’m wondering if I’ve done something to do with the Provisioning Profile in the wrong sequence. And I don’t really understand all the certificates, provisioning profiles, App ID, Bundle ID, Bundle ID Suffix – it seems nightmarishly complex compared with the Google Play Store!
Here’s what I have in iTune Connect:
SKU: au.com.myCompany.myAppName
Bundle ID: Xcode: iOS Wildcard AppID - * (This is the only option it allows me to select)
Bundle ID Suffix: au.com.myCompany.myAppName (I don’t really know what to put here, but it won’t let me leave it blank)
Your Bundle ID: au.com.myCompany.myAppName (non-editable)
Apple ID: a 9-digit number that I can’t edit
Type: iOS App
My distribution provisioning profile includes:
App ID: Xcode: iOS Wildcard AppID (*) (there are no other options to select)
There doesn’t seem to be anywhere to add the Bundle ID or Suffix into the provisioning profile… so…
Rob, how do you get your Bundle ID into your provisioning profile???
EDIT:
It seems that Corona is generating the Bundle ID from whatever I type in the Build for iOS -> Application Name field. However when I changed this from myAppName to au.com.myCompany.myAppName , the Application Loader reported that the Xcode Project Bundle ID was now _ au-com-myCompany-myAppName _ (note the hyphens instead of periods) so it still didn’t match the iTunes Connect Bundle ID. And I’m still stuck.
We have a guide on this:
http://docs.coronalabs.com/guide/distribution/iOSBuild/index.html
Since you are getting the WildCard, that tells me you don’t have everything setup right in your Provisioning Portal. You need the following:
1. A Certificate / Key setup.
Next you generate an App ID.
Next you register some Devices for testing. Technically this isn’t needed to upload to iTunes Connect, but you really should conduct some on device tests before submitting.
Next you generate a couple of Provisioning Profiles. There are two to pay attention to, “AdHoc” and “Distribution”. AdHoc is the one you will use to test on device (there is a Development profile for this as well, but most of the time the AdHoc works). Distribution is what is needed to upload to the store.
With all of these resources pulled together, you download these “Profiles” and load them into your system. There are multiple ways to do that. I’m an old school command line person, so I download them to my Downloads folder then move them to my /Users/rmiracle/Library/MobileDevice/Provisioning Profiles folder. Restart Corona, then pick the right provisioning profile you want. Others will load via Xcode.
If you have all that right, when you go iTunes Connect and add a new app, your app should show up in the drop down list. You cannot use the wild card to distribute apps with.
Go through that guide step by step and make sure you have every thing right.
Rob
Fantastic Rob, thank you very much! – The guide solved everything.
I had been doing all my development and device testing with the wildcard App ID, and didn’t realise it couldn’t be used for distribution (I thought the com.myCo.myApp string got automatically appended somehow which would make it valid for distribution).
I’ve now made a unique App ID, and a new Dist. Provisioning Profile to suit, and my app is uploading happily as I type…
Thanks again.
Kevin.
Fantastic!
Is there a step-by-step walkthrough for uploading a Corona app onto the app store?
I’m getting the same error as this thread title and am getting very confused. I’m wondering if I’ve done something to do with the Provisioning Profile in the wrong sequence. And I don’t really understand all the certificates, provisioning profiles, App ID, Bundle ID, Bundle ID Suffix – it seems nightmarishly complex compared with the Google Play Store!
Here’s what I have in iTune Connect:
SKU: au.com.myCompany.myAppName
Bundle ID: Xcode: iOS Wildcard AppID - * (This is the only option it allows me to select)
Bundle ID Suffix: au.com.myCompany.myAppName (I don’t really know what to put here, but it won’t let me leave it blank)
Your Bundle ID: au.com.myCompany.myAppName (non-editable)
Apple ID: a 9-digit number that I can’t edit
Type: iOS App
My distribution provisioning profile includes:
App ID: Xcode: iOS Wildcard AppID (*) (there are no other options to select)
There doesn’t seem to be anywhere to add the Bundle ID or Suffix into the provisioning profile… so…
Rob, how do you get your Bundle ID into your provisioning profile???
EDIT:
It seems that Corona is generating the Bundle ID from whatever I type in the Build for iOS -> Application Name field. However when I changed this from myAppName to au.com.myCompany.myAppName , the Application Loader reported that the Xcode Project Bundle ID was now _ au-com-myCompany-myAppName _ (note the hyphens instead of periods) so it still didn’t match the iTunes Connect Bundle ID. And I’m still stuck.
We have a guide on this:
http://docs.coronalabs.com/guide/distribution/iOSBuild/index.html
Since you are getting the WildCard, that tells me you don’t have everything setup right in your Provisioning Portal. You need the following:
1. A Certificate / Key setup.
Next you generate an App ID.
Next you register some Devices for testing. Technically this isn’t needed to upload to iTunes Connect, but you really should conduct some on device tests before submitting.
Next you generate a couple of Provisioning Profiles. There are two to pay attention to, “AdHoc” and “Distribution”. AdHoc is the one you will use to test on device (there is a Development profile for this as well, but most of the time the AdHoc works). Distribution is what is needed to upload to the store.
With all of these resources pulled together, you download these “Profiles” and load them into your system. There are multiple ways to do that. I’m an old school command line person, so I download them to my Downloads folder then move them to my /Users/rmiracle/Library/MobileDevice/Provisioning Profiles folder. Restart Corona, then pick the right provisioning profile you want. Others will load via Xcode.
If you have all that right, when you go iTunes Connect and add a new app, your app should show up in the drop down list. You cannot use the wild card to distribute apps with.
Go through that guide step by step and make sure you have every thing right.
Rob
Fantastic Rob, thank you very much! – The guide solved everything.
I had been doing all my development and device testing with the wildcard App ID, and didn’t realise it couldn’t be used for distribution (I thought the com.myCo.myApp string got automatically appended somehow which would make it valid for distribution).
I’ve now made a unique App ID, and a new Dist. Provisioning Profile to suit, and my app is uploading happily as I type…
Thanks again.
Kevin.
Fantastic!
Hi rob
can you tell do i use my Leaderboard ID for the leaderboard score submition?
do i create this id in the gamecenter iTunes connect?
local myCategory = "com.yourname.yourgame.highscores"
or this where i use the Leaderboard ID from the iTunes connect
its a bit confusing
according to this
local function postScoreSubmit( event )
--whatever code you need following a score submission…
return true
end
local myScore = 100
–for GameCenter, default to the leaderboard name from iTunes Connect
local myCategory = “com.yourname.yourgame.highscores”
if ( system.getInfo( “platformName” ) == “Android” ) then
--for GPGS, reset “myCategory” to the string provided from the leaderboard setup in Google
myCategory = “CgkJtbq23agVEAIQAQ”
end
gameNetwork.request( “setHighScore”,
{
localPlayerScore = { category=myCategory, value=tonumber(myScore) },
listener = postScoreSubmit
} )
iTunes Connect lets you name your Product ID anything you want. You could call it “gobbledygook” if you wanted… as long as its unique. The reason Apple uses com.yoursite.your app, what is known as a reverse domain name is that if you own acme.com’s domain, you should be the only person using “com.acme” which starts you off on a safe “namespaced” path having unique values. They enforce this on the App Bundle ID’s, but for In App Purchase ID’s , GameCenter ID’s, etc. it can be anything as long as it’s unique. It’s very highly recommended that you use the com.yoursite.yourapp.yourleaderboard naming scheme as an easy way for you to maintain your product ID’s in a unique fashion.
If you named your leaderboard “Jimbob” in iTunesConnect, then that’s what you pass as the category value.
thats a bit confusing according to the itunes connect this is what i could call my leaderboaerd id
unique alphanumeric identifier that you create for this leaderboard. Can also contain periods and underscores.
but if you says so i will have a try thanks
thanks rob, it works
Hi Rob
Can you tell me is it just me or everyone lose their score after a while on the game center sandbox?
Is it because its not the production server so the highscores are temporary stored for testing purpose?
thanks
GameCenter sandboxs do not share data with production. They are for testing only.
Hi rob
can you tell do i use my Leaderboard ID for the leaderboard score submition?
do i create this id in the gamecenter iTunes connect?
local myCategory = "com.yourname.yourgame.highscores"
or this where i use the Leaderboard ID from the iTunes connect
its a bit confusing
according to this
local function postScoreSubmit( event )
--whatever code you need following a score submission…
return true
end
local myScore = 100
–for GameCenter, default to the leaderboard name from iTunes Connect
local myCategory = “com.yourname.yourgame.highscores”
if ( system.getInfo( “platformName” ) == “Android” ) then
--for GPGS, reset “myCategory” to the string provided from the leaderboard setup in Google
myCategory = “CgkJtbq23agVEAIQAQ”
end
gameNetwork.request( “setHighScore”,
{
localPlayerScore = { category=myCategory, value=tonumber(myScore) },
listener = postScoreSubmit
} )
iTunes Connect lets you name your Product ID anything you want. You could call it “gobbledygook” if you wanted… as long as its unique. The reason Apple uses com.yoursite.your app, what is known as a reverse domain name is that if you own acme.com’s domain, you should be the only person using “com.acme” which starts you off on a safe “namespaced” path having unique values. They enforce this on the App Bundle ID’s, but for In App Purchase ID’s , GameCenter ID’s, etc. it can be anything as long as it’s unique. It’s very highly recommended that you use the com.yoursite.yourapp.yourleaderboard naming scheme as an easy way for you to maintain your product ID’s in a unique fashion.
If you named your leaderboard “Jimbob” in iTunesConnect, then that’s what you pass as the category value.
thats a bit confusing according to the itunes connect this is what i could call my leaderboaerd id
unique alphanumeric identifier that you create for this leaderboard. Can also contain periods and underscores.
but if you says so i will have a try thanks
thanks rob, it works
Hi Rob
Can you tell me is it just me or everyone lose their score after a while on the game center sandbox?
Is it because its not the production server so the highscores are temporary stored for testing purpose?
thanks