I am trying to submit my WatchKit app t iTunesConnect. I click "Archive" and then validate and I am shown the message below. I have created an App Id for the app, extension and WatchKit App as well as distribution profiles.
Where am I going wrong?
Thanks
To properly sign a watch app, you need three different App IDs and each App ID needs a provision profile.
Go to Developer Member Center
Add/Edit the three App IDs:
One for your main App bundle, you may need to add the entitlements you need, like App Groups, Keychain Access Group.
One for your watchkit extension bundle, you may need to add the entitlements you need.
One for your watchkit app bundle. No entitlements needed.
Delete the distribution provision profiles for the three App IDs, if they already exists.
Add three new distribution provision profiles for the three App IDs.
Now go back to Xcode, open Preference and go to Accounts.
Choose your Apple ID, click View Details on the bottom right.
Click the refresh button on the bottom left, wait for the list of provision profiles to change.
In Build Settings for all your targets, configure the Code Signing part as below.
Try Archive again.
When you submit your app, XCode will ask you to confirm the provision profile it uses to sign each of your bundles. You need to be sure that the provision profile names match those you configured in Developer Member Center.
I have uploaded one app to itunesconnect with watch app.
This is very simple. You need to create 3 appstore provisioning profiles and the bundle identifier for the extention and watchApp are like
com.abc.app - Phone app
com.abc.app.extention - Extention
com.abc.app.watchapp - watch app
and also sync app group in capabilities tab in all 3 targets.
All are well.
you just needs to create Archive for only Phone App (Main Target). That's It. When user will download your app. And if phone have attached Watch then this will automatically get informed to you for watchapp download.
Judging by the screenshot, it looks like your profiles need to have the missing entitlements (beta-reports-active, keychain-access-groups) added to them.
You will need to create a provisioning profile for the watchkit extension as well as the provision that you have for your app.
If you download the Apple Lister App Code Sample there is a guide to getting started that show you everything that you need to do to setup your app to work properly on a device with Apple Watch.
https://developer.apple.com/library/ios/samplecode/Lister/Introduction/Intro.html
Click on the Download Sample Code button, and in that folder there is a file called iOS and Watch Quick Start.pdf
Using XCode 6.3 solved the problem to me.
I previously used 3 provisionning profiles for watch apps
source : Watchkit Extension - No matching provisioning profiles found
Related
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.
I have followed OneSignal's setup instructions for React Native, but
When I try to upload app to TestFlight I get the following error 'No profiles for 'com.myapp.ios.OneSignalNotificationServiceExtension' were found'
My XCode is 10.0.
Anyone help me? Thanks in advance.
Below instructions assume that your app is building and you have successfully deployed TestFlight builds in the past (since that is where I started from). I had to use the below as "Automatically manage signing" resulted in a build fail in Xcode 10:
Go to https://developer.apple.com/account/ios/profile
Click "+' to create a new provisioning profile
Choose the type of provisioning profile you want (I went with App Store since I use TestFlight builds to test)
for App ID choose "XC YOUR_DOMAIN_APP_ID OneSignalNotificationServiceExtension" and make sure enable the App Groups capability
after you have downloaded the provisioning profile, go into Xcode, turn off automatically signing on the OneSignalNotificationServiceExtension target in General tab and import the provisioning profile you just downloaded.
Use Product > Archive as usual to create your ipa file for App Store upload as usual
I'm getting the same error on appcenter. You can temporarily workaround this problem if you create a new provision file for the OneSignalNotificationServiceExtension identifier and sign your OneSignalNotificationServiceExtension with this provision.
(Your app provision should be different. your app -> com.app.example)
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
I am trying to submit an iOS App + Apple watch extension to the App Store.
I selected the app as my target, created an archive (Product > Archive).
I clicked on the archive in Window > Organizer and clicked Export (I am using the Application loader to submit the app).
I selected "Save for iOS App Store Deployment"
In the next window (in Binary and Entitlements), I expected to see the the app and the watchkit extension. But I see only the app. Why is this ? Is it expected ? Or did I miss some setting change somewhere ?
Because this is a very special piece of application, and you can not just simply submit the application like the way you used to do.
The differences are the total number of provisioning profile. Without WatchKitExtension, a provisioning profile is enough. However, you have to apply for three different application identifiers and three different provisioning profile in order to let the Xcode to detect you actually have your phone app, watch app and watch extension.
So, what you need to do is really simple. Just create two more app identifiers based on the bundle identifier you saw from the WatchApp target and WatchExtension target. Then, create two more provisioning profile. Last step, import them into your Xcode. And you are good to go.
I am trying to set up iCloud within my iOS application, I have done the following:
Removed all old certs on mac.
Added iCloud to the App in Dev Console - created new container and added to app
Redone the dev provision and downloaded
Installed the provision
Added the iCloud Entitlement to the app
And this is where is all goes wrong...
I can't get the app running again, the app is building but I am getting an error saying:
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
Any ideas??
UPDATE: I have managed to be able to run the application to get everything programmed and put in place, everything is set up iTunes Connect end, all provisions are valid and sync'd.
Now I am getting errors during validation...
There are 4: Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported by iOS. Specifically, key 'com.apple.developer.icloud-container-identifiers' in Payload ------- not supported
Other 3 are similar for other containers!
Maybe it's a late comment, but I post it here in case that somebody is struggling for the same reason.
I encountered this issue on Xcode8 recently when I was trying to archive. Generally, I enabled iCloud with Xcode in following steps:
Enable iCloud inCapabilities panel in my target by setting the toggle to ON.
Check iCloud under my App Identifier in Member Center turns green automatically, and a iCloud container is created automatically with my App Identifier. (Apple's system does this for us.)
Regenerate my certificate with my App Identifier.
Create a new provisioning profile.
Download and install the new certificate and provisioning profile
Select the new provisioning profile in Signing(Release) section in General panel in my target.
Then I got errors like:
Provisioning profile "iCloud Test" doesn't include the com.apple.developer.ubiquity-container-identifiers,
com.apple.developer.icloud-container-identifiers,
and com.apple.developer.icloud-services entitlements.
Code signing is required for product type 'Application' in SDK 'iOS 10.1'
Code signing is required for product type 'Application' in SDK 'iOS 10.1'
At last I found that there were two options in iCloud section under my App Identifier in Member Center. By default, the Compatible with Xcode 5 was selected, but I succeeded by selecting the other option.
If you're just adding iCloud to an app for the first time or want to upgrade to use CloudKit after using an older iCloud container:
Go to the Apple Development Center.
Choose Certificates, IDs & Profiles.
Use the dropdown on the top left to switch between iOS/tvOS/watchOS or macOS
Choose App IDs under the Identifiers section.
Choose your app from the list.
Scroll down to iCloud and make sure it is enabled with a green dot.
If it's not enabled or has a yellow dot, click the button at the bottom of the page to Edit and make sure you've checked iCloud service.
You may also need to create a container under the iCloud Containers section then associate it with this app.
After submitting a report to Apple, it turns out that Apple systems are useless AGAIN!
Ok, so if you are creating a NEW application or you are only just adding iCloud to your application - you will need to make sure the system doesn't pick up or create a iOS8 cloud container!
If it does you need to remove it from your app entitlements file, remove the selected containers in the Apple Developer Console and re-download certs again!
Thanks Apple again!
I got blamed for using pre-released software! I haven't touch Xcode 6 yet!!!
What I did:
- leave only com.apple.developer.icloud-services in entitlements file
- in Capabilities under iCloud marked key value storage and iCloud Documents (cloud kit EMPTY)
- Containers set to specify custom but do not select any of your containers
- This will probably give you RED warning sign under steps but leave it as it is DO NOT FIX
- Regarding provisioning profile Development and Distribution profiles have to have App ID which has iCloud enabled but NOT linked to any container
- In those provisioning profiles set under iCloud OLD version for Xcode 5 etc. not a new one related to iCloud containers
I had an error of "Add iCloud Containers to your App ID".
Automatic signing was unable to resolve an issue with target's entitlements.
I don't even use iCloud Containers, only Key-value storage(keychain).
I also switched in iCloud section under my App Identifier in Member Center from "Compatible with Xcode 5" to "Include CloudKit support (requires Xcode 6)" problem still remains.
So I fixed it like this:
Enable iCloud Capabilities panel in my target by setting the
toggle to ON.
Turn on "Include CloudKit support (requires Xcode 6)" in Member
Center (still got same error).
in Xcode in iCloud Capabilities TURN ON CloudKit (even if you don't
need it) and then turn OFF.
And then problem solved for me!