Case sensitivity in bundle Identifier and the product name - ios

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.

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.

Xcode: Change Bundle Identifier Case with automatically managed signing

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?

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)

iOS Distribution: Can I change the bundle identifier later on, to match it the reverse domain name of my customer?

I am an independent developer (coming from Android). I developed an app for a customer, and used a work title for this project as bundle identifier.
So, now comes the time, where I want to move to testing on a limited amount of devices with ad-hoc distribution provisioning profiles.
For this I need to create an App ID with a bundle identifier. So, my customer will finally want his app distributed under his reverse domain name.
Can I change the bundle identifier later on, to match it the reverse domain name of my costumer?
Bundle Identifier (Application Id) is an unique identity for any application. You can change it for any application by creating new Apple Id on developer account any time you want until you upload your application on Apple store.
Once you upload your app on Apple store, You can not change it. As if you change it afterwards you will not able to update your app and it will be considered as a new app with new bundle identifier instead of update of existing app.
Sure. You can change it anytime.
You can't change the project name in this field in Xcode, however:
You'd have to rename the whole project to change the last greyed out part of the Bundle ID.
Notice however that you can never change the Bundle ID after the app has gotten to the App Store.

Profile doesn't match bundle identifier

So I'm trying to submit an app to the app store. This is my first app so I think I jumbled it somewhere.
In iTunesConnect, my BundleID is com.mywebsite.appname
I created a distrubition profile through the Provisioning Portal with the same app ID that I used to create the BundleID in itunesConnect. When I try to code sign my release build, I see this:
AppName (for bundle identifiers 'com.mywebsite.AppName')
profile doesn't match bundle identifier 'mywebsite.AppName'
From googling, it looks like that the bundle ID is case sensitive. I tried creating another app ID in the dev portal as appname, but it didn't seem to matter since now in the dev portal, I have two apps called Appname. Even though it let me add another app ID, it displays them the same with the first letter as caps, and the rest not. So what do I need to do in order to get my profile to match the bundle id. And which bundle id do I need to match, the one on iTunesConnect?
Lastly, I want to make sure that the name of my app underneath the icon on the iPhone doesn't show up in lowercase. Is that possible? Thanks!
This screenshot shows you where in Xcode to set the Bundle Identifier:

Resources