Bundle issues when publishing app - xcode

I made a custom keyboard for IOS 8, but when I try to archive it, i get the following error:
ITunes Store operation failed. No software with CFBundleIdentifier of "my project prefix" exists. Verify your bundle identifier is correct.
How would I fix this?

Simple fix -
You need to go on to iTunes Connect and create an app with the Bundle ID that you have created and set up through either Xcode or the Developer Center. Once that is set up it will then work (unless there are other problems with your app!)

Related

ERROR ITMS-90283 with "Invalid 'com.apple.application-identifier' entitlement value" when submitting Mac Catalyst app

I'm trying to submit a Mac Catalyst app for the first time, but the upload keeps failing with this error message:
ERROR ITMS-90283: "Invalid Provisioning Profile. The provisioning profile included in the bundle maccatalyst.com.arlomedia.setlistmaker [maccatalyst.com.arlomedia.setlistmaker.pkg/Payload/SetListMaker.app] is invalid. [Invalid 'com.apple.application-identifier' entitlement value.] For more information, visit the macOS Developer Portal."
This happens if I manually or automatically sign the app. With manual signing, I have a new macOS App Store provisioning profile that I created as a Mac Catalyst profile using the associated iOS app ID. This shows as valid in the provisioning portal, and I can build (archive) the app just fine with this profile selected:
When I go through the submission process in the Xcode organizer, I have to "Import" the provisioning profile every time (I downloaded the provisioning file, and just select the downloaded file here), which is odd:
But after I select the file, I can click its info icon and everything looks correct:
Then I proceed with the upload, and when the progress bar reaches the end, the error appears and the submission fails.
The error message indicates something is wrong with the application-identifier, but I've checked this everywhere I can find it and it looks correct. I'm using automatically derived bundle IDs, which prefixes "maccatalyst" onto my iOS bundle ID. In some places where this appears, the ID is also prefixed with the App ID Prefix from the apps Identifier record in the provisioning portal. The screen shot above shows the last letter of the App ID cut off, but I think that's just the display in Xcode; if I open the provisioning file, the full ID is listed.
I have another app I've been working on at the same time and I was able to submit it successfully. I opened the archived .app files for both projects and compared the embedded provisioning profiles, and the only differences are things I would expect, like the app name and export time. The application-identifers and bundle IDs are formatted the same way, with the correct app prefixes. I also compared the info.plist files for the two apps and didn't see any significant differences there, either. The other app also required me to select the profile during the submission process, so it seems like that's not a problem (although with my iOS submissions, the profile name appears there automatically).
When I turn on automatic signing, some upload steps are skipped, but I get the same error message at the end of the upload. If I use the Validate App button instead of the Distribute App button in the Xcode organizer, I go through the same steps and get the same error message.
I've compared the setup of the app IDs and profiles of both apps, the signing settings, the build settings, the App Information pages in iTunes Connect ... everything is set up the same way. Does anyone know what else I should check?
I finally got this to work by giving up on the automatically derived "maccatalyst" bundle ID and using a custom bundle ID. Here are the steps I took:
In Xcode, turn off the "Derive Mac Catalyst Product Bundle Identifier" build setting.
Edit the "Product Bundle Identifier" build setting and add a separate bundle ID for the macOS platform. (screen shot 1)
In the iOS Provisioning Portal, edit the App ID for the associated iOS app and turn off the Mac Catalyst option.
Create a new App ID for the Mac version of the app, and enter the new macOS bundle ID.
Create new development and distribution profiles using the new App ID. When creating the profiles, these must be Mac Catalyst, not Mac, profiles. Xcode would only accept Mac Catalyst profiles when validating. (screen shot 2)
In App Store Connect, edit the macOS app record and change the bundle ID from the maccatalyst ID to the custom ID. This was still editable because I hadn't yet successfully uploaded a binary.
My new profiles now appear as Eligible on the Signing & Capabilities tab in Xcode, but they do not appear as options on the validation page when submitting. However, as with my original setup, I can click the Import Profile option there and select the file downloaded from the provisioning portal.
Note that this is the setup to use if you do not want Universal Purchase. If you do want that, you would need to use the same bundle ID as for the iOS app, and you might need to wait until Xcode 11.4 is released in order to submit the app with that setup. I'm not sure about that, but I am sure that you cannot submit apps with the Xcode 11.4 beta, because I tried it. (screen shot 3)
I didn't try automatic signing with the custom bundle ID setup. I think that would work because I think somehow the problem was related to the automatically derived bundle ID. That is basically deprecated with the upcoming Xcode 11.4 and Universal Purchase capability, so I suspect that a change on Apple's end has broken the validation of that style of bundle ID, perhaps only in limited cases that affected my app due to some factor that neither I nor Apple were able to identify.
Custom bundle ID settings:
"Profile is not a 'Mac Catalyst App Store' profile":
Cannot submit from Xcode beta:
I found this document:
Technical Q&A QA1710: Why do I get an "Invalid application-identifier Entitlement" error?
It states:
In modern versions of Xcode, you don't need to supply a value for this entitlement yourself, so the error can be avoided by simply removing the application identifier entitlement from your custom Entitlements.plist.
Xcode builds the application identifier entitlement for you based on the Bundle Identifier property defined in your Xcode project's Target > Info tab, so setting the correct Bundle Identifier in Xcode is imperative.
I don't have either of those problems, but maybe it will help someone else receiving this error.

error from Transporter, "failed to get the app's bundle id"

I'm preparing an app for the Mac OS app store. The app is a package that consists of a precompiled binary and a bunch of configuration parameters embedded in it's info.plist. The app isn't under development - it's been in use for several years, but I'm planning
to smooth the distribution by getting it into the app store.
I created a .pkg for the app using "productbuild", and the package installs fine.
My problem is that feeding the .pkg to the transporter app always fails with
"failed to create the .itmsp for .pkg Failed to get the apps bundle id"
the info.plist looks fine to me.
Q: what's wrong, what can I do about it, or is there an alternative path into the
app store.
This error seems to occur for many different reasons. In my case, my Info.plist had an empty value for the NSHumanReadableCopyright key and it was missing the LSMinimumSystemVersion key entirely. After adding both of those, and resubmitting, the error no longer occurs.
So my best advice for combatting this error message is to compare your Info.plist to a known good one and see if you are missing any keys or if any of the key values are empty or possibly invalid. Unfortunate that this error message is a red herring.
If you use xcrun altool --validate-app to attempt to upload your app rather than Transport, it will give you the reason why it is failing to upload. In my case, Transporter gave me the same vague error message you were getting. At first, I tried adding LSMinimumSystemVersion, but still failed with same vague error. Then I tried xcrun altool --validate-app, I get:
2021-03-29 00:35:11.876 altool[1291:17262] *** Error: Unable to validate archive 'myApp.pkg'.
2021-03-29 00:35:11.876 altool[1291:17262] *** Error: code -27002 (Unable to validate your application. The Info.plist in the package must contain the CFBundleShortVersionString key.)
After I then added CFBundleShortVersionString, I was moving on.
I assume you already made all steps needed before submitting your Mac App. So then the easiest way to send it to the Apple Store Connect is generating an Archive and using Organizer.
Open Xcode
Go to Product -> Archive
Wait until an Mac App Archive is generated
Go to Window -> Organizer
Select the version of your app that you want to submit and then click on Validate App
If everything is ok, proceed clicking on the button Upload App
Finally go to the Apple Store Connect and just publish it

Failed to create provisioning profile

I'm trying to create a project in Xcode, Version 8.0 beta 6 (8S201h) and I'm getting this error.
The apple account is a free one because I'm just playing around with Xcode but it is forcing me to set it as a Team. Any help?
Check the schemes menu at the top of the Xcode project window. Look at the destination you're trying to run in. If you run in the simulator, you don't need to sign your project.
If you run in a device, you need to attach the actual device. It must not say "generic device".
In my case this error disappeared when I changed the "Bundle Identifier" to something less generic (e.g. adding some random numbers at the end)
Change the bundle identifier to something more unique.
If you are following a tutorial and just put a generic identifier then adding a few numbers to the end will likely solve your issues.
i.e. if you had HelloWorld change it to HelloWorld12345
After struggling for an hour, I just unchecked the "Automatically manage signing" and went back to the old school way of specifying my profiles. Probably not the best thing to do but works.
Profiling your Phone takes a few minutes. . . watch the status bar on the top to be sure that your phone is being profiled on the top.
Next, be sure you choose YOUR PHONE as the target, not iPhone 7 or iPhone 8... your exact phone. This is done by choosing: Product > Destination > (pick your phone)
Your phone will only show up after it's been plugged in, turned on, and left running for a few minutes while Xcode creates a profile.
Check these things.
1.A device is connected to your system or not.
2.Deployment target in xcode. (General->Deployment info->Deployment target)
It should match with the ios version of your device.
3.Change your bundle identifier. Follow general rules of setting a unique bundle identifier for yourproject while running in device.
See this what is correct format of bundle identifier in iOS?
Also be careful with the number of bundle identifiers you set in the project. Please remember all bundle identifiers or note it down somewhere. Since you are using a free account you have limited access to the number of bundle id's.
You should also disable push notifications in the "Capabilities" section of the project. Try changing "App groups" as well in the format of group.com.someString.
These things helped me run my app in real device without any errors.
I had same problem with provisioning profile. If you have any kind of iPhone, you can connect to your Mac with cable and provisioning profile is automatically defined.
After some time with the same disturbing error and after I write a unique Bundle Identifier and it didn't help,
I searched the web and found here that my error was that I selected a virtual device and not an real device. The solution was:
1.I plugged my iPhone
2.I clicked on the button - set the active scheme. and there it was on the top - device iPhone.
the error has gone.
I have had this error multiple times and what solves it for me is the following:
In the list with the view of all certificates, right click on each row and move each certificate to trash (go to Xcode > Preferences > Choose account > Click View Details)
Go to member center download the right certificates again and click on them so
Restart Xcode
Go to build settings and set the right Code signing for debug/release - you should be able to see an option on the row that says "Identities from profile..."
If this doesn't work then you should consider revoking your certificate and then create a new one and the do the steps above again.
The issue behind this error is Unavailability of App ID with given Bundle Identifier
Solution: Change Bundle Identifier simple :)
Adding this because it took me 4 hours to figure out..
Xcode will fail to create the provisioning profile for a device with no name, i.e. "" or " ". When I changed my device name to something else, the steps above worked.
Both of these errors arise as a result of a provisioning profile not existing. To create one, simply do the following as suggested in the error message:
Plug in your Apple device
Choose the device from the schemes/simulator menu
Thereafter, provisioning profile will automatically be created
This error is because you selected a target rather than a project name, so please, at the left side of general in Xcode you will find your project name. Click on it and change it from target to project section.
Change Deployment Target to newer version and then solved
For me this happened when I was making a tvOS app and didn't have a appleTV registered.
In general, you need to plug in the device or have logged into it (connected to it)..then it shows up here: https://developer.apple.com/account/resources/devices/list
You can also add devices there..you need to click reset to be able to add a new device. the reset button should be labeled modify because it doesn't reset anything.
for example, if you need to make a tvOS app then you need to have an apple TV in the device list. Once you add that then you're good to go. kisses.
Manual:
Go to your apple developer account and hit certificates
Select devices from the left side
Add the device name and its UDID. Close Xcode and hit automatic signing
Automatic:
Attach your iPhone to Xcode. and run the app on that. Xcode will automatically create a profile.
To set up WITHOUT an iPhone, you can manually download certificates from Apple's website and create a profile. The certificates you install on the Mac and the Profile you import into XCode after download. It worked for me. Follow the links:
Documentation:
https://developer.apple.com/pt/support/certificates/
Certificates:
https://developer.apple.com/account/resources/certificates/list
Profile:
https://developer.apple.com/account/resources/profiles/list
It's just as it says.
To have xCode automate something, you need to get your own iPhone registered there with the UDID, which you can find on Finder or System Information (USB section) when you connect to your iPhone.
Failed to create provisioning profile. There are no devices registered in your account on the developer website. Select a device run destination to have Xcode register it.
Adding a fake device on Apple dev account helped me since I have no iPhone:
https://developer.apple.com/account/resources/devices/list
Example of device you can add:
Name: "NotARealDevice"
Device ID: "1234567890123456789012345678901234567890"
For me this happened when I tried to run on a device with a newer version of iOS than supported by the version of Xcode I was running.
There are basically two way to solve the issue.
Add a device on your mac. Then you can choose that device by selecting Product => Destination => Select your connected device. After this, Xcode will try to add the device in apple developer platform and also create a profile against the same.
Go to https://developer.apple.com/account/resources/devices/list. Add a iPhone device by providing device name and device UDID number. you can google it (How to get the UDID number for iphone). Then you can create the profile and then retry.
By adding my iphone device here solved my problem.
https://developer.apple.com/account/resources/devices/list
and getting apple UUID use this website https://udid.tech no need of xcode and itunes.
Change bundle identifier, Straight solution
What saved me from this error was when I changed my Bundle Identifier.
Try and do that

Xcode error when uploading to App Store: "No suitable application records were found"

I'm using Ionic to build an html app for iOS. I've registered an app on iTunes Connect.
All goes well in Xcode until I upload to the App Store. I get the following error:
iTunes Store operation failed.
No suitable application records were found. Verify your bundle identifier 'com.iconicframework.app315125' is correct.
I suspect you should not be calling your app "com.ionicframework.app315125". That looks like a leftover name from an example project.
You need to create a new Bundle Identifier in the Developer portal:
Then choose it when you "Create New App" in iTunesConnect:
For me, I'd pick com.maniac-games.lowdown.
Maybe you need to review this document.
In other words:
You must go to developer.apple.com and create a provisioning profile and bundle id.
Assign devices to provisioning
Then ... enter itunesconnect and create app and assign your bundle id.
Enter to Xcode and reload provisioning files.
Enter to Targets files and select provisioning.
Product -> Archive and go on :)
For those who are seeing this answer after June 2020, I'm running XCode 11, and I got this error because I forgot to make an app in App Store Connect:
https://appstoreconnect.apple.com/
If you have XCode 11, under "Signing & Capabilities" -> "Automatically manage signing", it'll solve 90% of the problem for you, but the other 10% is just logging into your developer account, going to App Store Connect -> Apps -> (Blue "+" icon), then select a Bundle ID that matches your Bundle Identifier back in XCode.
I was also facing same issue..I fixed it by creating an app on itunesConnect before uploading app.
once you created app on itunesconnect. you should not get this error anymore.
there should be some authentication and a place to store your build. and if you don't have an app on itunesconnect with same bundle id it will not let you upload your app.
I received the same error on multiple attempts.
Follow below step:
1) Create AppID inside developer site Identifiers -> IDS.
2) Create Provisioning Profiles Certificate Provisioning Profiles - > Distribution.
3) Create App inside iTunes and Give name of app, select Bundle identifier of app and just click on Create app.
4) Inside xcode select Product -> Archive wait few minute then open Organizer(Windows -> Organizer) and show app in Organizer, Click on Upload to App store
5) Successfully you have upload app in app store.
For me the problem was that the user used for uploading was set to Limited Access instead of Full Access. Fixed that via App Information > Additional Information > Edit User Access. Took me several hours to track down! It would of course have been helpful to get a slightly more detailed error message.
Set the Same name.this way is success.
I had the same issue, after a while checking I added my app's details into AppstoreConnect then it was fixed!
Don't forget that at first you need to define a new bundle identifier and provisioning profile.
For the ones who get this error on an app which was sumbitable previously, please log in to iTunesConnect / AppStoreConnect and accept the latest Terms of Services or whatever legal message you have to approve.
Note that if you are working with an external publisher you need someone whose account has the highest permission to have the message appearing.
Well what soloved the issue for me was changing the bundleID when the pop up (while validating) comes up to the actual bundleID which was not right at that time but is now fixed and my app is one the way to the Appstore!
You need to create a new Bundle Identifier in the Developer portal(https://developer.apple.com) like create your app in myapps with same Bundle Identifier

Problem submitting existing app to iTunes Connect

I have an app that is already in the App Store.
For this current build I made a new project (I rebuilt everything from scratch) and signed it with my previous application key.
When I try to submit it to the App Store through XCode Organizer I get the error:
No Suitable Application Records Were Found:
Please make sure that you have set up a record for this application on iTunes Connect
What do I need to change in order for this new project to be recognized as the existing app I have in the App Store?
Are you using the exact same identifier as before in your Info.plist file? You will probably also need to bump up the version number and make sure that iTunes Connect knows you want to create an update.

Resources