Validating IOS Application Archive - ios

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)

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.

Provisioning profile does not match bundle identifier

i have run in iphone is ok, but i try to build it and upload, it get this error, how can i fix it, thanks!
Code Sign error: Provisioning profile does not match bundle
identifier: The provisioning profile specified in your build settings
(“PicKey Distribution”) has an AppID of “com.KKApps.PicKey” which does
not match your bundle identifier “com.KKApps.PicKey.MyKeyBoard”.
CodeSign error: code signing is required for product type 'App Extension' in SDK 'iOS 8.0'
At the creation of your Provisioning profile on the Developer Portal you have provided the app id com.KKApps.PicKey
Your Bundle identifier has to be strictly identical to the one you provided for the Provisioning profile, with no additions after like the .MyKeyBoard
Two solutions for you
1. In your case, with an explicit app ID : You change your app bundle identifier to com.KKApps.PicKey to match the Provisioning profile App ID
2. Use an You create a new App ID com.KKApps.PicKey.* and change the Provisioning profile to link to it (or create a new one). The * is a wildcard allowing to match multiple apps
With solution 2 you will be able to create apps with Bundle Identifier starting with com.KKApps.PicKey.
For exemple com.KKApps.PicKey.MyKeyBoard, or com.KKApps.PicKey.MySuperApplication
Apple's explanations for APP IDs
Explicit App ID (Example: com.domainname.appname)
If you plan to incorporate app services such as Game Center, In-App
Purchase, Data Protection, and iCloud, or want a provisioning profile
unique to a single app, you must register an explicit App ID for your
app.
To create an explicit App ID, enter a unique string in the Bundle ID
field. This string should match the Bundle ID of your app.
Wildcard App ID (Example: com.domainname.*)
This allows you to use a single App ID to match multiple apps. To
create a wildcard App ID, enter an asterisk (*) as the last digit in
the Bundle ID field.
Change your Watchkit App's Bundle Identifier to your app's bundle identifier, also change your watchkit extension's Bundle Identifier to your App's Identifier.
Also check for the Versions of your main app and watchkit, watchkit extension's versions, both versions should be same.
for more please look into apple docs
https://developer.apple.com/library/ios/technotes/tn2410/_index.html
Hope this will help!!!

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.

Delphi XE4 and iOS Application Loader complaining "This bundle is invalid"

I can not pick a correct CFBundleIdentifier value it seems.
...
in KeyChain I have this certificate:
iPhone Distribution: ExampleCompany (DistCertificateID)
In my developer.apple.com account I have defined app:
Name: LongReadableName
Prefix: DistCertificateID
ID: com.example.*
Name: Xcode iOS Wildcard App ID
Prefix: DistCertificateID
ID: *
In iTunesConnect I have name SkuID + BundleID appname
...
I have then tried to enter and deploy with following values with different error messages:
appname
This bundle is invalid. The application-identifier entitlement is not
formatted correctly; it should contain your 10-character App ID Seed,
followed by a dot, followed by your bundle identifier:
0000000000.appname
DistCertificateID.appname
The Bundle ID DistCertificateID.appname defined in your Xcode
Project does not match the Bundle ID that you entered for this app in
iTunes Connect appname.
DistCertificateID.com.example
The Bundle ID DistCertificateID.com.example defined in your Xcode
Project does not match the Bundle ID that you entered for this app in
iTunes Connect appname.
DistCertificateID.com.example.*
The Bundle ID DistCertificateID.com.example.* defined in your Xcode
Project does not match the Bundle ID that you entered for this app in
iTunes Connect appname.
DistCertificateID.com.example.appname
The Bundle ID DistCertificateID.com.example.appname defined in your Xcode
Project does not match the Bundle ID that you entered for this app in
iTunes Connect appname.
com.example.appname
The Bundle ID com.example.appname defined in your Xcode
Project does not match the Bundle ID that you entered for this app in
iTunes Connect appname.
I think I have tried everything I could think of...
I speculate if the issue could be resolved by a different iTunesConnect configuration/upload although I have now idea at present how to create one that would solve the problems listed here. But just in case, I have create a specific SO for BundleID/iTunesConnect: iOS app Bundle ID errors and iTunesConnect
Newest update #1
I decided to drop using wildcard app IDs since I can see that has caused other people problems. Hence I chose the other option in iTunesConnect resulting it in showing me BundleID as being com.example.appname. I then made sure 1) my provisioning for distribution used DistCertificateID.com.example.* 2) to set CFBunldeIdentifier (in Delphi) as same shown in iTunesConnect. I then built and deployed followed by submitting it to Application Loader. That resulted in error message:
The Bundle ID com.example.appname defined in your Xcode Project
does not match the Bundle ID that you entered for this app in iTunes
Connect com.example.appname.
As you can see, the bundle ID is now the same, but still it complains. I do not understand why :(
Newest update #2
I actually made a small typo error last night when I tried above. Guess I was too tired. Above solution works! (I will make it an answer.)
Ditching the wildcard app ID worked for me. Hence I chose the other option in iTunesConnect resulting it in showing me BundleID as being com.example.appname. I then made sure 1) my provisioning for distribution used DistCertificateID.com.example.* 2) to set CFBunldeIdentifier (in Delphi) as same shown in iTunesConnect. I then built and deployed followed by submitting it to Application Loader.
I was struggling with the same problem, I found this link http://embarcadero.newsgroups.archived.at/public.delphi.deployment/201308/1308131098.html
I just hadn't set the CFBundleIdentifier in Debug although I was deploying for Release. I hope this will help you to solve your issue.

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