Xcode: Change Bundle Identifier Case with automatically managed signing - ios

Xcode 8 seems to have the convention that the bundle identifier follows the case of the app name e.g. com.test.AppName. However in our team it is convention to have it all lowercase. After we created a new project we tried to change the case of the bundle id but with no success. What we tried:
1) Tried to change it in Xcode
We changed it to lowercase and then changed some capabilities. The result was the error:
The app ID "com.xyz.xyz" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.
2) Delete in the developer account
There seems no possibility to delete an automatically generated bundle ID online.
Is there any way to fix this?

Related

An App ID with Identifier 'com.companyname.appname' is not available. Please enter a different string

I am trying to upload my IOS app to TestFlight for beta testing. On XCode, my application's bundle ID is com.companyname.appname. When i try to create a distribution provisioning profile, i am told to create an app ID.
When i try to register an IOS App ID on the developer portal, i enter appname under App ID Description and com.companyname.appname under Bundle ID. I get the error message
There were errors in the data supplied. Please correct and re-submit.
An App ID with Identifier 'com.companyname.appname' is not available.
Please enter a different string.
I currently have no other app with bundle ID com.companyname.appname. When i change the bundle ID to some other string like com.companyname.io, it works.
Why doesn't the bundle name com.companyname.appname work?
Should i go ahead and use a different bundle id from what is on XCode?
Am i even going about this right?
Are you using com.companyname.appname in your question as a placeholder for the real string you've entered in the portal, or that's really what you're using?
Bundle ID's need to be globally unique. Not just unique to you. So someone else is likely using the same com.companyname.appname as you've used.
You should be using a Bundle ID that's based on your domain name (in reverse order). For example, if your domain name is someguyfortune.com, and your app is called MyAwesomeApp, then you should use a Bundle ID of com.someguyfortune.MyAwesomeApp. Case matters. I personally prefer using all lower case letters, but Xcode will use uppercase letters by default and they work fine.
Using this reverse domain name style improves the odds that no one else will be using the same Bundle ID.
It most likely means there is already a bundle identifier with the same value. Bundle identifiers must be unique.

Product Name not displaying properly in Bundle Identifier - numbers not showing?

On my app developer site I created a an app ID of org.myorg.54Miles My apps name is 54Miles.
In XCode my product name is set to 54Miles under my Build Settings - but it makes my bundle identifier under the general "org.sd54.-4Miles"
Any idea why this is? It's causing me to not be able to archive the app and get it distributed because the AppID doesn't match the bundle ID in xcode.
I want it to read: org.sd54.54Miles - but currently I cannot get it to stop reading org.sd54.-4Miles
Cannot figure it out!
I ended up just leaving the bundle ID as it was since apparently Apple has a problem leading with digits in the bundle identifier.
So I just created a new App ID in the developer site to match it. I have since been able to deploy it without issue.

Case sensitivity in bundle Identifier and the product name

I'm creating a new project in xCode with the following name "SampleApp"
Bundle identifier becomes like this "com.samplecompany.SampleApp" (Last word has camel casing)
But the App Id in the developer portal is "com.sampleCompany.sampleapp" (All lower case letters).
So, whenever I archive and try to sign a build with the provisioning profile, xCode says that the provisioning profile with the mentioned bundle identifier(com.samplecompany.SampleApp) is not found.(Since the app id is in all lower case format in the developer portal).
I tried to create the app id, "com.samplecompany.SampleApp", but the developer portal throws an error "com.samplecompany.SampleApp" is already taken.
If I go with all lowercase, My app name also becomes lower case.
My app is already in the appstore with all lower cases. So, I'm worried, if I remove the profile and re-create it, it will cause problems in the appstore build.
I'm struck here. How to solve this issue ?
Apple AppDistributionGuide says,
If the App ID is an explicit App ID, it exactly matches the bundle
ID. However, unlike domain names, bundle IDs are case sensitive. If
the App ID is lowercase, your bundle ID needs to be lowercase, too
Note: bundle ID is not what the user will see as the app name. That's the "Bundle Display Name".
The bundle ID is case sensitive. we need to use the app Id and bundle identifier are same. check the Apple Documentation
The bundle ID is not what the user will see as the app name. That's the "Bundle Display Name".You can change the Bundle Display Name to change the icon name displayed in home screen.

Validating IOS Application Archive

I have created an archive for a new version of a product already on the app store. I have incremented the version number to 2. I have created version 2 in tuned.
When I go to Organizer>Archives, I see my correct app name, icon, Version 2, and correct bundle identifier.
When I click VALIDATE then NEXT to log on to iTune connect,I get a dialog saying:
Choose a profile to sign with.
At that point, the application name is wrong (being the name of a test application I created a while ago). This is displayed in a non-changeable label. The provisioning profile looks correct, being the only value in the drop down list.
The validation then fails with three messages:
The bundle is invalid. The bundle identifier is already in use by a different software package.
The bundle identifier cannot be changed from its current value 'Test Bundle'. If you want to change your bundle identifier, you will need to create a new application in iTunes Connect.
The bundle identifier matches the name of the one I create for the test application. However, if I got to General>identity the project has a the correct bundle id (Not 'test Bundle').
In other words, the General>Identify>Bundle Identifier matches the bundle when I am asked to select the bundle identifier. However, the application name does not match the application name of the project and the bundle ID reported in validation errors does not match the bundle ID from General>Identify>Bundle Identifier.
Where is the wrong application name and bundle ID being picked up?
posting from my comment for further reference:
when you create a new app entry in your iTunesConnect.apple.com account, and turned it to "ready to upload binary", what's the bundle id you have used there?
does it match the one in your provisioning profile?
Application Name, version numbers and bundle identifiers should match between iTunesConnect and your binary.(its possible that when you created the app on iTC some other bundle id was selected)

Profile doesn't match Application Identifier com.domainname.helloworld

I try to run a HelloWorld project into my client device, the application identifier in Xcode is: com.domainname.HelloWorld, and when i created the provisioning profile, in the AppID, i have putted: com.domainname.helloworld (lower case).
Now, in Xcode, i try to assign the code signing identity to the provisioning profile i have created, however, in the drop list, i can see the provisioning profile but i can't select it.
I am following this tutorial and i have doubt i didn't knew how to Don’t forget to add the new provisioning profile to XCode as well.
Can you please help me there? thanx in advance.
BundleIds are case-sensitive.
Make sure you call it com.domainname.HelloWorld in your Info.plist.
From Apple Documentation:
Typically, the bundle ID in your Xcode project is a string formatted
as a reverse-domain name such as com.MyCompany.MyProductName, where
you replace MyCompanyName and MyProductName with your domain and
product name. However, unlike domain names, app IDs and bundle IDs are
case sensitive.
I had the same problem with my application Extinct Birds, Xcode adds disabled suffix with project name in Application Target->Bundle Identifier
Way to find this in your project Info.plist is by searching for CFBundleIdentifier
You may get the following text entry form the file
CFBundleIdentifier
com.softwebsys.ExtinctBirds${PRODUCT_NAME:rfc1034identifier}
For me removing ${PRODUCT_NAME:rfc1034identifier} from the string worked well. Here is my final entry
CFBundleIdentifier
com.softwebsys.ExtinctBirds

Resources