App ID for iOS Distribution - iphone

I want to submit my app to the App Store.
While Creating iOS Distribution Provisioning Profile for App Store Distribution, what App ID should I select? Is it the same as for Development Profile ? Could you please guide me. Thank you.
I already referred http://developer.apple.com/ios/manage/distribution/index.action

I create a new App ID each time I am ready to submit a new (no updated) app to the store.
From the portal, go to the "App IDs" tab.
Click on the "New App ID" button.
Under "Description": The common name should be something for you; I often use the App Name followed by "iPhone" or "iPad" or "Universal" as applicable.
Under "Bundle Seed ID (App ID Prefix)": Choose Generate New.
Under "Bundle Identifier (App ID Suffix)": As instructed, use something like com.domainname.appname. Remember this and add it to the Info.plist file under "Bundle identifier" in your app or you will not be able to upload it.

Yes, use the same app ID you used for development. The app ID is the application identifier -- it doesn't change according to the way you build the app.

Related

App store submission, bundle name, provisoning profiles

I found this post which was helpful Tips for a successful AppStore submission?, but had some more questions.
My Xcode project creates a Target. Does this have anything to do with my app name? Currently they do not match, but I didn't know if it mattered since iTunesConnect says you upload a zip of the binary.
I did not update my Bundle Display Name since it didn't sound like I needed to unless I was supporting other regions, but I updated the Bundle name to what I would like my App to be called.
I thought someone said that I needed to have my AppID that is in the iOS provisioning portal to match with the name of the app. Two questions on how that works, if your AppID is "FindMyDog", but my Bundle Name is "Find My Dog", is that an issue because of the spacebars? What do I need to do in order to fix that? Do I need to create a new AppID of "Find My Dog", and add it to my Xcode provisioning portal? If so, does that replace my old provisioning profile I was using to run my app on the device? Does the Provisioning Profile, Bundle Name, and AppID all have to have the same name? Thx.
No.Bundle Name is not necessary to match with the AppID.
For Ex: My appId is FriendsChecker, But the bundle name is Friends.
http://itunes.apple.com/in/app/friendschecker/id484047075?mt=8

Is it possible to find out itunes link for iOS application before it being submitted to appstore?

In my application I need to have one link which is directly conncect to the app store and it is the link of my application on iTunes App Store. Can anyone please let me know how to do it?
When you add the app to iTunes Connect, it gets an Apple ID (a 9 or 10 digit number). You can use a URL of the form http://itunes.apple.com/app/id<your_id> to link to your app in the store, for example http://itunes.apple.com/app/id417817520 if your Apple ID was 417817520.
The link will only work after the app has been approved of course.
You can now use Short Links:
appstore.com/exampleappname
Just strip all white space from the app name. More in this Apple tech note:
https://developer.apple.com/library/ios/qa/qa1633/_index.html
We can generate the app link before the application being submitted to iTunes app store for review.
Here you need to follow the below mentioned steps.
(1) First login to your app store developer account and go to iTunes Connect.
(2) Then go to the option "Manage Your Applications".
(3) Now create new application here and add meta data and all the information about the application like Description, Category, Keywords, Price, etc. which can be edited later. Here you just remaining with the binary submission which you can do after adding the app store link.
(4) After creating your application here from the "Manage Your Application" section, you will get the Application listed. Now you select the app and then in the top menu click on More -> View on App Store.
(5) Now copy the link opened in the browser and that is the link of your application.
https://itunes.apple.com/app/appname/id123456789?ls=1&mt=8
- Where appname = name of the application
- id123456789 = it will be the ID of your App
These are the simplest steps to create APP store link before the app being submitted to app store actually.
Let me know if you need more help.
You can just use http://itunes.com/apps/[your company name]/[your app name].
Both the company name and the app name are without spaces and lowercase.

How are Bundle IDs supposed to work for multiple Apple apps?

Here is the situation we would like to have: release two different apps by the same company. Ideally, they could share login info across them but this is NOT mandatory.
Our current plan is this:
One provisioning profile with the Bundle ID "com.wikia.*"
App one (which is already out) would have a Bundle ID suffix of "app.GameGuides" so it's "Your Bundle ID" value is "com.wikia.app.GameGuides".
App two (which we are trying to release) would have a Bundle ID suffix of "lyricwiki" so it's "Your Bundle ID" value is "com.wikia.lyricwiki".
Is that how it's supposed to work or should each app have their own provisioning profile with the wildcard only for variations of the SAME app?
Any help is greatly appreciated!
[Note: App one (GameGuides) is already out, using a profile with the prefix "com.wikia." in the App Store & is also on the Android Market... and app two (LyricWiki) is on the Android Market & we're trying to submit it to the App Store but we are getting an error that our "Bundle ID" has already been used... not sure if this is an error on the "Your Bundle ID" or if the wild-carded Bundle ID can't be reused (which seems strange since it is wildcarded).]*
Docs on wildcard app IDs:
https://developer.apple.com/library/ios/#qa/qa1713/_index.html
Our company does what youre describing, com.wikia.app1, com.wikia.app2, etc. I would double check that you didnt try to submit it twice and make sure there isn't actually another app with that bundle ID, otherwise contact Apple to see why it's being rejected.

Importance of "Bundle identifier"

What is the importance of "Bundle identifier" in info.plist?
The bundle identifier is supposed to uniquely identify your app. You don't change it after a release, never, and you can then change the other stuff (display name for example).
It's all essential regarding mobile provisioning profiles and in-app purchase: you link an in-app purchase with your bundle identifier. And you can create a mobile provisioning just for your bundle identifier (not for com.yourcompany.* or fr.ecomposite.*).
The bundle identifier should be the same as the app id that you resigstered on the development portal. When you go to deploy the app in the app store it will check the bundle identifier to make sure you are uploading a regiastered app.

Why must the bundle identifier be changed prior to submitting an iPhone app to the App Store?

I need to understand this piece better because when I reached that step in the app submission process, my comprehension went to hell.
While developing my app, my bundle identifier was com.yourcompany.${PRODUCT_NAME:rfc1034identifier}.
The instructions say
In the Properties Pane of the Target Info window, enter the Bundle Identifier portion of your App ID. If you have used an explicit App ID you must enter the Bundle Identifier portion of the App ID in the Identifier field. For example enter com.domainname.applicationname if your App ID is A1B2C3D4E5.com.domainname.applicationname. If you have used a wildcard asterisk character in your App ID, replace the asterisk with whatever string you choose.
Here are example App IDs and what
should be input into the Identifier
field in Xcode.
Example App ID:
A1B2C3D4E5.com.domainname.applicationname
Identifier to enter in Xcode:
com.domainname.applicationname
Example App ID:
A1B2C3D4E5.com.domainname.* Identifier
to enter in Xcode:
com.domainname.
Example App ID: A1B2C3D4E5.*
Identifier to enter in Xcode:
full_reverse_dns_company_and_application_or_suite_name
In the provisioning protocol, my App id is XXXXXX1111.*. So In the identifier I entered com.mysite.myAppName, which was absolutely arbitrary, but that seemed to be the point. I built the app submitted it, everything seemed to work alright. But then I tried to create the Ad Hoc distribution and upload it to my device and what happens is that the app loads, and then crashes after about 3 seconds. At first I couldnt figure out what was going wrong so I retraced all my steps until finally I got to changing the identifier in the target. I changed it back to com.yourcompany.${PRODUCT_NAME:rfc1034identifier} and my app then started to work perfectly on my device with the Ad Hoc distribution provision.
My question then, is what do I need to write as the value for the identifier in order to make sure that my app doesnt crash when the app store team is reviewing my app?
Thanks!
EDIT
The Ad Hoc Distribution, App Store distribution, and the Development profile i was using all have the SAME app id, which is a wildcard XXXXXXXXXX.. In the organizer, the only provisioning profiles i have for my ipod touch are my team provisioning profile and my development profile. Under the developer profiles category in the organizer, I have team, distribution, ad hoc, and development, all with '' app identifier. in the 'provisioning profiles' i have the same 4, with my ipod touch as an included device on the ad hoc profile.
In my info.plist my id is com.mysite.myappname. Everytime i try running the app on my ipod touch using my distribution ad hoc profile, i get the dialog box:
'cant run "myappname" on ipod "my ipod name"
The ipod 'my ipod name' doesnt have the provisioning profile with which the application was signed. click install and run to install the provisioning profile 'dev name Ad Hoc' on 'ipod name' and continue running 'app name.app'
when i click install and run, the app loads, and then crashes after 3 seconds, as i said before. it seems as though the provisioning profile is failing to install on the ipod touch.
The important thing is that the bundle identifier in your info.plist file, the bundle identifier in your provisioning profile, and the bundle identifier associated with your app ID should all match up.
If you were able to do a distribution build, it means that the bundle identifier in your provisioning profile is the same as the one in your info.plist file. And if Itunes connect accepted your submission, it means that the bundle identifier associated with your app id is also the same. So you are in good shape there.
Reading your description, it is possible that your add hoc distribution profile does not have the same bundle identifier as your app store distribution profile. If so, this would explain why you had to change the bundle identifier in your info.plist when switching from an app store submission to ad hoc distribution.