iTunes Connect: How to change the bundle id prior to app submission? - iphone

We are getting ready to upload our app. At this point, itunes connect information has been entered. The problem is, we decided to change the name of our app from
ourAppMobile -> ourApp
The concern is that in iTunesConnect the Bundle ID is listed as:
com.ourcompany.ourAppMobile
But, we have changed our app name to ourApp.
What to do? Can the Bundle ID be changed in iTunes Connect. If so, how? If not, what to do?
Thanks.
> Identifiers
>
> SKUICC_MOBILEAPPLE Bundle ID
> com.ourcompany.ourAppMobile Apple ID
> 395529813 Type iOS App

As you suspect there is no possibility to change the Bundle ID or better say App ID Suffix. Your only solution to make a new Bundle ID and upload the app with this ID.
This Bundle ID is which make your app unique on the AppStore and follows it thorough all its lifespan and based on this iTunes recognize it from upgrade to upgrade.
The Bundle Display Name is totally different, and you can change as you like in line with Apple guidance. The APP ID prefix could be the same for various apps but it's again not the Bundle ID you are asking for.
Actually I don't really understand why do you bother with the internal name of the app as this will be unseen for the users. It's just a string nothing else, nobody use it or read it. The APP ID suffix could be anything even different from the Apple recommendation of com.companyname etc., and the only limitation that it has to be different from another APP ID, this is why it's unique and you couldn't change it any more.

In your Info.plist for project add/modify value for CFBundleDisplayName (aka 'Bundle Display Name') to the desired app name. Then rebuild.
If your app name contains a space then you will need to take an extra step in the midst of validation process. Check this out.

From another forum....
"You can either go ahead with the original bundle Id (these are always your choice as long as they are unique or wildcard for your account) or abandon that effort and start over with a new ID and upload using it. However, you will have to change the app name too..."
In my case, I did not want to change the app name in iTunes Connect or so I'm keeping the bundle id I originally entered as suggested.

Related

What name shows in app store

I am about to put my app on the app store. I want to customize the name that it shows.
I don't want it to show my name. How do I change the name displayed?
If you're talking about the app name, it will display whatever you put in iTunes Connect. It doesn't use anything in code or the bundle to determine the name.
If you're talking about the seller name (since you say 'my name'), that's determined based on how you registered your developer account and is difficult (though not impossible) to change. If you want to change that, you need to contact Apple developer relations.

Validating my application using VALIDATE in xcode - Beginner

I need to use the validate functionality in xcode. I need to check if i have not done anything illegal while programming.
I know that i have to login to my iTunes connect account and add a new app. (I did this step)
Next i have to fill in the Language preferred, App name, SKU number and bundle ID
1.) what should i enter for SKU number ?
2.) I only want to submit the app for validation (and not submit the app to appstore). So what is the process i should follow after entering the above details (note:I only need to validate and not submit)
3.) What should i select in Bundle ID dropdown. is it the appname -* or the appname - com.me.app ?
if i select appname - * it will prompt the Bundle ID Suffix what should i add there /
4.) I have given a false application name to its App Name column (since i am not going to submit this to app store), So will i be able to add an App again giving the same Bundle Id and SKU number ?
1) The SKU is a unique number that you come up with that will help you to identify the app. It can be anything that you desire, for example 001 or 0001.
2) Follow the remaining steps in iTunes Connect, until you get to "Ready to upload binary". (and then hit that button) Feel free to use placeholder (ie, temporary) screenshots and files for the app icon. Just ensure they're of the correct resolution to keep Apple happy for now.
Once the app has changed to the "waiting for upload" state, then when you build an archive of the app in Xcode and then go to validate, then login with your info, and it will validate your app binary file.
3) You need to pick the appname - com.me.app option.
4) You can add more apps again, but the app name, SKU and bundle ID will be different if it is a different app. If you want to reuse the app name that you've made, purely to test the validation of the app, then be sure to setup your app in Xcode using the same provisioning profiles, bundle ID and app name again.
Hope this helps!

Availability of a name for an app in the AppStore

Is there a way to check if a name is available in the AppStore with an HTTP request? Without manually creating the App in iTunes Connect?
UPDATE 2015-01-05, per SarahR:
If you already have an app created, you can use its SKU for the app you want to check, and you'll get an error on submission that that SKU has already been used. If you don't remember the SKU you used for an existing app, you can go to the app details page, choose "MORE", then "about this app". If you don't already have an app created, it is plausible that you could create a dummy app with a name nobody would ever want to use, and then use its SKU to bounce the names you really want to test (though again, be wary of terms of service on that).
ORIGINAL:
The trick to checking the availability of a name while brainstorming is to not fill in the other required fields. Each field is checked individually. You do have to use iTunes Connect — "Manage Your Applications" -> "Add New App" (don't fill in a SKU Number or bundle id); if the name has been reserved, it will give you the following errors:
You must select a Bundle ID.
The App Name you entered has already been used.
provide a SKU.
The second one is the winner, while the other two errors make sure you don't accidentally reserve the name before you're ready.
If you need to automate this process (which is probably against their terms of service), you can use any standard scraper. Mechanize is probably the most robust out of the box, but I think that's another question....
I use Google to check if an app name (or something similar to it) already exists.
Use this as your search query:
site:itunes.apple.com inurl:app clash of clans
(replace 'clash of clans' with the suggested app name of course)
Kaolin Fire's suggestion doesnt work on the latest version of itunesconnect. A work around is to start the creation of a new app and where you fill in all the details and the name of the app you want to know the availability for but using a sku of any of your previous apps.
If the name is available you will only get an error that the sku is already in use. Else you will get 2 errors sku and name both are in use.
Open iTunes Connect
Click 'New App'
Fill out language and bundle id (can be anything)
Enter desired name & SKU of a previous app you have built
Click 'Create'
The name field will return red if the name has been taken.
2020 Update
*For apple developer have another application
Choose any application your own
Click "+New Version"
Click "App Information" (Then you can edit application name)
Input your application name that name want to check available then click "Save"
If you can save without error, You can use this name. (You can change to another name if you want to make this name available again then click "Save")
If this name not available you get error same this
App Annie and Google only give you games that are published to the App store. The only way to do it is go through the entire app creation process, including Bundle ID. This process is horrible as my iTunes Connect is littered with reserved app names that I do not intend to do anything with and will not become available to others until they expire 90 days after registration.
You could try app annie
It requires a free registration. I tried and tested it and does a decent job for iOS,MAC,GooglePlay app name searches.
You can check the availability of an app name and even reserve that name here. Here is a page with more details about checking/reserving app names.

When to use an explicit app ID versus a wildcard ID?

What are the exact advantages of creating explicit App ID and Wild card ID? I saw that if we are creating a bundle of apps, we can create a wildcard App ID, otherwise explicit ID is good etc. But I am a bit confused and want to know more details about the exact advantages of both types.
If I have a free version first(1.0) and then want to submit priced version of same app with new features(2.0), what should be the right way?
Thanks.
You should choose a wildcard App ID if you do not plan to use push notifications and/or in App purchase. In your case, since you plan to start with a free version, then to provide a priced new version you should choose an explicit App ID reflecting the name of your application, and use in App purchase to allow people to buy the contents related to your priced version. This is what Apple is now recommending. Basically, the folks at Apple do not want us to develop a light and a priced version. They want a single App that can offer free contents and priced contents through in App purchase.
Provisioning profiles with Wildcard App IDs are recommended for most iPhone OS development because a single Wildcard App ID can be used to build and install most applications, including the sample code projects provided in the iPhone Reference Library. Wildcard App IDs are created by entering an asterisk in the Identifier portion of your App ID. The wildcard asterisk character must be the last character in the App ID string. If you use a Wildcard App ID, remember to replace the asterisk with an appropriate string using the reverse-DNS format when you fill in the Bundle Identifier field in your Xcode project.
Example App ID: ABCDE12345.*
ABCDE12345 is the Bundle Seed ID (generated by Apple)
* is the Bundle Identifier of the App ID. When you enter the Bundle Identifier in your Xcode project you need to replace the asterisk with an appropriate string using the reverse-DNS format
Example App ID: ABCDE12345.com.foocompany.*
ABCDE12345 is the Bundle Seed ID (generated by Apple)
com.foocompany.* is the Bundle Identifier of the App ID and the Bundle Identifier in your Xcode project must start with ‘com.foocompany.’ and the asterisk can be replaced with a string of your choosing
The second type of App ID is called an Explicit App ID. This type of App ID restricts a provisioning profile to only allow the installation of one application. Explicit App IDs are required to enable certain iOS features such as In App Purchase and Apple Push Notification service in your applications. Explicit App IDs are created by entering a specific string in the Identifier portion of your App ID. The recommended practice is to use a reverse-DNS formatted string for the Bundle Identifier portion of the App ID.
Example App ID: ABCDE12345.com.foocompany.appname
ABCDE12345 is the Bundle Seed ID (generated by Apple)
com.foocompany.appname is the App ID's Bundle Identifier and needs to be the same as your app’s Bundle Identifier
If you currently have an app that uses a wildcard App ID and would like to update your app to use an explicit App ID please see Technical Q&A QA1680, 'Updating from a wildcard App ID to an explicit App ID'.
Important Note: Change the "yourcompany" in your app’s default Bundle Identifier to the actual name of your company. This helps to avoid issues when you try to upload your app to the App Store.
Wildcard App Id is easier to use. You don't have to create new App Id and new provisioning profile for each small app you want to test. Explicit App ID is necessary to enable push notifications and in-app purchase. If you don't need both, just use wildcard and save your time for something more important than creating, downloading, installing and distributind multiple provisioning profiles(up to three for each App id - for development, adhoc and app store distributions!).
wildcard must be good for "Developer" testing your app on your device. (which should be in your provisioning profile with its associated UDID) Exclusive ID is for "Distribution", I would imagine
The idea is, as I understand it, that apps with a wildcard app id can share data. So if you want your pay version to be able to grab the settings the user entered when they were using the free version, you'd want that. That said, I've never used the wildcard option, so I don't have hands on experience using this.

code sign error while installing application on iPhone

I have registered for Apple Developer Program. I have installed my provisioning profile and other certificates successfully. But still, I am getting error while installing the app for ad-hoc distribution.
I am not sure about this, but I am getting my company name as "CXXXXXXXXX.abc-xyz.com" in mobileProvision certificate. Although I have entered my company name as "abcxyz" in developer profile.
Now, in info.plist, I have tried many options like com.abc-xyz., com.com.abc-xyz., com.abc-xyz.com.* but none of them works.
Here's the error that I am getting while installing:
Provisioning profile specifies the Application Identifier 'abc-xyz.com' which doesn't match the current setting 'com.abc-xyz.ApplicationName'
As far as I know, I think the problem may be in my company name as it contains '-', '.' and 'com'. But I have never entered name like abc-xyz.com anywhere apart from my email address. i.e. xxx#abc-xyz.com
I don't know if I am missing something. Is there any solution for this? Plz help if you have any suggestions.
Thank you.
The bundle identifier in your info.plist should match the App ID of the provisioning profile. If your provisioning profile has an App ID of "CXXXXXXXXX.abc-xyz.com" then it will only sign apps with a bundle identifier of "abc-xyz.com", not "com.abc-xyz.ApplicationName".
You need to make the provisioning profile's App ID and the bundle identifier match. One way to do this is to set the App ID in the provisioning profile to "CXXXXXXXXX.com.abc-xyz.ApplicationName".
You can make the provisioning profile work for any app for your company by using a wildcard. "CXXXXXXXXX.com.abc-xyz.*" will match any bundle identifier that starts with "com.abc-xyz.".
For simplicity, I tend to wildcard the whole string ("CXXXXXXXXX.*") for Ad Hoc and Development profiles.
I lost 1 hour messing around with the Code Signing Identity in my Project configurations with no luck. After I made the same changes to the Target everything worked.