How to add iCloud entitlement to app ID? - ios

How can I add iCloud entitlement to app ID? I wants to use just key-value storage in iCloud. I have enabled iCloud by editing my existing iOS app ID. Then, generated new provisioning profile, installed it in XCode. I added my app bundle ID in com.apple.developer.ubiquity-kvstore-identifier. XCode gives me warning that Add the iCloud entitlement to your app ID. I dont know where I have done wrong. Please help me out. Thanks.

As it says, login to Apple member center and configure app's identifier.
Select the iCloud container (if you can't select, create one)
PS: I can only post 2 images now, so I can't show you more details.

In order to void the error "Internal error ...." you have to:
Register any device on your Apple Developer under Certificates IDs and profiles
Connect your phone or your iPad and register it
Go back to your application
Click fix

Another solution that could help is updating provision profiles (cause after adding new capabilities, you have to do it)
To do that you have to go to Apple member centre -> Provision profiles (All). And here, if some profiles have a yellow exclamation mark, choose it, click "Edit", and then "Download". After downloading open it. That will help.

Related

Add the “iCloud containers” entitlement to your App ID

I am trying to fix this issue for hours now.
I have checked the App ID and confirmed the iCloud containers.
Also i have entered the same in the app entitlements.
But there is a always a red mark before "Add the “iCloud containers” entitlement to your App ID". I created the new provisioning profile and removed the expired provision files also.
This is the first time i am facing this issue.
Is this issue related with the developer certificate signing or something?
I was having the same problem couple of days ago. Fixed it by doing these steps:
Go to your developer account
Find the App ID you are working on
Click edit.
On the iCloud section select the radio button that says "Include CloudKit support (requires Xcode 6)"
Worked for me.
For me everything was just fine. I had to close and reopen xcode. Then go to 'Capabilities' and Toggle the 'iCloud' i.e OFF and Then ON it again.
I solved this by:
Turn off iCloud capabilities.
Change the app's bundle id.
Turn on iCloud capabilities.
Now everything is regenerated afresh, and the error goes away. Of course, now the bundle id is wrong. But now you can go to the member center, delete the old (faulty) app id and any associated provisioning profiles, and change the bundle id back again.
I was trying to add an App ID matching my project's bundle ID, but it still doesn't update the warnings in iCloud.
Then I found that in "General" -> "Signing" it says Target is ad hoc signed, and I tapped the Enable Development Signing button, then Xcode started to auto manage the App ID etc and everything turned green :]
In my case, under Xcode - General - Signing, the name in the Team field was not correct.
At least in Xcode 9.1, I had to choose the Team in Signing section (Target -> General pane). The team was already chosen but I had to choose it again to make the error disappear. It might have to do with developer certificate renewal.
I tried all of the above, in the end all I did was quit Xcode, open it up again, and toggle the iCloud capability off and on again.
Try
- delete all provisioning profiles
- go to Xcode->preference->account
- add your apple id here (makes you easy to download profiles)
- Click download profiles.
I Turned on iCloud
Set the Cloud kit Container through the Apple Developer dashboard to the app I needed
Rename project bundle Identifier from the Xcode 10 and rename back to the original identifier after all fine
Provisional profile got updated

ERROR ITMS-90046: "Invalid Code Signing Entitlements." using custom applinks

I've tried to upload application to apple store using Application Loader include Associated Domains in application entitlements but I have an error:
ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value 'applinks:http://XXX.internal/' for key 'com.apple.developer.associated-domains' in 'Payload/MyApp.app/MyApp' is not supported."
I use distribution certificate
I have checked to ON in Associated Domains in App Ids in apple developer
I have created provisioning profile using app ids (with enabled Associated Domains) and distribution certificate
What can be the problem? I've tried recreate of all certificates, provisioning profiles etc.
I have solved this issue.
My problem was that I wrote wrong domain name. I had before:
applinks: http://something.com
and now I have:
applinks:something.com
And it's working great.
Go to xcode preferences.Accounts. Select your developer account and double click on the team name in the right. You will see all the provisioning profiles there, select anyone and show in finder. Now delete all these files and move to trash.
Now delete your account from the xocde. Quit xcode.
Now reopen xcode and go to preferences and add your developer account. Download all profiles from here.
Now re-try to build. Let me know if it works.
For anyone else stumbling across this, the problem is actually in your app ID so just deleting your provisioning profiles won't solve anything. Here's how to fix it:
1. Login into your apple developer account
2. Choose certificates and provisioning
3. Click on App ID
4. Click on the edit button for that App ID
5. Turn off Associated Domains
6. Save
This will invalidate your existing provisioning profiles so click over to Provisioning Profiles and you'll see the little icons showing the old ones are now invalid. Delete those. Generate new ones, download those and rebuild your app.
Problem solved.
I had the same problem when check
app id Push Notifications Disabled and project ON Notifications Im off Notifcation The problem was solved
Turning Associated Domains in capabilities off and then back on solved it for me.

Certificates and Provisioning Profiles for Push Notifications

I'm having trouble with the process. I have got push notifications working for Development. I have read multiple guides and questions, and for some reason - either their guides are deprecated in iOS 8 or my Xcode is bugged - I am having issues with provisioning profiles.
For the purposes of this question, I have generalized most of the terms for privacy concerns.
I'm currently greeted with the bug - Failed to code sign "App". There is a Fix Issue button, but I made sure I did not click that; I'm afraid it'll only complicate my problems.
I've followed the Parse iOS Notifications Guide and configured my app according to the guide. I've done the following:
Requested a certificateSigningRequest from Keychain Access
Created a new App ID in iTunes Connect, with a new bundle identifier. I made sure I went into my info.plist in my app to change and match the new App ID created in iTunes Connect.
Using the new App ID in iTunes Connect, I created the Production SSL Certificate.
Installed it to my KeyChain Access, and exported it to upload to Parse.
Next, I deal with the Provision profile. Once again, I went in iTunes Connect, created a new provisioning profile, made sure to link the correct bundle ID with it, and downloaded it.
Here comes the part that may have fudged up the process. In the Parse Notifications Guide, they instructed users to double click the downloaded file - in my case, it was called "AdHocDistribution.mobileprovisioning", which will install itself into Xcode.
Download the generated provisioning profile from the next screen by selecting the "Download" button.
Install the profile by double-clicking on the downloaded file.
This should open Xcode's Organizer in the Devices pane. Your new provisioning profile should appear in the Provisioning Profiles section of your Library. Make sure that the status for this profile is "Valid profile". If the profile is invalid, make sure that your developer certificate is installed in your Keychain.
Double clicking the mobileprovisioning file did not lead to any discernable feedback telling me that it was installed.
Finally, I modified the code signing fields in my project and target's build settings to match the one I downloaded.
Finally, I try running the app, and the error popped up. Please help!
Create a provisioning profile of the application using ADHOC from dev account.Download and control drag it to Xcode, Under provisioning profile in your screenshot select that.
Do the same for Target and project and you will be good to go!
P.S. also select the Team as your dev account
Please follow the following steps..
Check all your targets's Code signing Section. Like Project and Test Target.
Check the project "identifier" in all your .Plist file.
Add the account in Xcode Account section, by choose from :
XCode-> Preference - > Account -> click on +sign and add your apple developer account.
Hope it will help you.

No suitable records were found verify your bundle identifier is correct

I have created an app in App Store Connect and it has been in the "prepare for submission" state for more than 3 days. When I try to archive my app, and submit it to the app store it, displays this message:
No suitable application records were found. Verify your bundle identifier is correct.
Just found the Error. I used one capital letter in bundle id. but I have used small letters in Xcode's bundle id. now I changed that as like in the app id. and now I successfully uploaded my app to Appstore Connect.
generally this happens when you have not created your app from apple developer account->iTunes Connect->Click on My App->click on plus sign (+)->New App->And fill up the whole info and Choose Your Bundle Id for the app you are uploading now.
Just check that app you configured on iTuneconnect is having same bundle identifier that you are using to upload app.
URL: https://appstoreconnect.apple.com/apps
iTunes Connect || App Store Connect (website):
In your browser, go to iTunes connect/ App Store Connect.
Add your New App / edit your existing app.
Go to App information.
Check the Bundle ID name.
If there is no bundle ID, make sure you create one.
I used the WildCard bundle ID. That means, your complete bundle ID is likely to be com.organizationName.* and the suffix (exampleApp).
Xcode:
Go to your Workspace / Project.
Go to your project.
Select the General Tab.
Ensure the Bundle Identifier is the name you set in iTunes Connect.
For example: com.orgnanizationName.appName
It seems you have to start the App Store submission process in iTunesConnect.
What did the fix for me is to allow app access to all users:
Go to AppStore Connect
Go to My App
Under Additional Information, click on 'Edit User Access'
Select 'Full Access'
This allowed me to upload the app the first time (via Xcode & Application Loader)
After the initial upload, i can switch back to 'Limited Access' and upload just fine.
I believe you can found the answer here Xcode 5 - "No application records were found" when trying to Validate an Archive from #Bamsworld.
As you already mentioned and as per the documentation - App Distribution Guide
Important: You can’t validate your app unless the app record in iTunes Connect is in the “Waiting for Upload” or later state
After you add a new app in iTunes connect there will be an amber light along with its status. It will most likely read "Prepare For Upload". To get it to the "Waiting For Upload" state click view details for the app and in the top right there should be a blue button that says "Ready to Upload Binary". Click this and follow the given directions.
If you use Application Loader, then check if you are logged to the correct account. It was my case and it can happen if you manage account for various clients.
In my case, I had 2 Apple IDs in my Xcode preferences (Xcode -> Preferences -> Accounts), so I had to remove one. After I removed Apple ID that I didn't need, validation process worked just fine.
Wasted a few hours, just because the error message is useless. This is so frustrating.
Double check the Bundle OS Type code in your App's info.plist, for me, the only way around this error was to set it to APPL.
The weird thing is that the error was regarding to my frameworks bundle id, tho changing the above in my app solved it.
Using Application Loader worked in my case.
Chek your app ID in the Apple Developer Center. Then, use exactly the same name in Bundler Identifier.
I have to manually sign the app. Created new certificate and new profile. Set code signing to Manual. Only then i was able to upload. Moreover select Manual sign in from organizer while uploading build.
Once check this.
Open your .plist file and check for "Bundle OS Type code" key. If that is not there, add a row and give that key and check the type it should be a string. And give "APPL" as value.
Clean the project and go for Archive.
I hope it will work for you.
I've changed the Version number but forgot to change the Build version. Changing the Build version resolved the issue. Such a silly mistake. Smh...
Make sure this is included in your Info.plist:
<key>CFBundlePackageType</key>
<string>APPL</string>
I had APPL misspelled as AAPL. Once I fixed that and signed into Application Loader and Xcode with the same Apple ID, everything worked.
Since this is question obviously has different potential answers depending on the individual circumstances I thought I'd add my problem and what solved it:
Problem: I had someone copy the binary archive, make some changes and then pass the binary onto me. This caused a binary conflict.
Solution: I had to create a new certificate. I copied the bundle ID from the develop consul, pasted into xcode and was able to upload.
Side note: You can regenerate a new bundle id by turning on "In-App Purchases" under Capabilities.
After few days I realize that, I've set Bundle ID wrong.
Here is how I correct,
Go App Store Connect > Your App > App Information > General Information
Select the Bundle ID you create and assign at xcode before.
Now you can Upload without error.
Firstly, check that you're using the same accounts in both Application Loaded (or XCode) and iTunes connect. Secondly, check that Bundle Id in error message and in iTunes connect are match, including tHe cAsE!
Make sure you follow these steps in order:
Generate the App ID at https://developer.apple.com/account/ios/identifier/bundle
Generate your app from iTunes Connect selecting the Bundle ID created in step one
Upload the IPA from Application Loader or XCode
if your bundle id carried a capital letter and you've changed it to a lower case letter, you must run the application in the simulator before attempting to archive and upload to app store connect (this was the issue and solution for me).
For me, what fixed it was to enter the required details in App Store Connect -> TestFlight -> Test Information.
Once I'd done that it seemed that Xcode realised there was a new app to allow uploading to and succeeded.
(Also check your caps in your Bundle ID though. 😉)
iMessage Extension: For everyone that is fighting with this problem with an messages extension (or any other extension) make sure you enter in "App Store Connect" -> "General Information" -> the Bundle-ID of the application target and not the extension target. We fought 2 days to find this out.
For me : Just tried uploading using Application Loader and it worked
If after you confirm your Bundle ID's match across App Store Connect, Apple Developer Portal, and Xcode and you are still having issues try this:
Remove the Apple ID associated with the Bundle ID you're experiencing issues with from your Accounts list in Xcode (Menu Bar -> Xcode -> Preferences -> Accounts). Then, add the Apple ID back to the Accounts list in Xcode.
For me, it was because I forgot to create a "Provisioning Profile" on Apple developer portal. I created a profile here for "App Store", then downloaded and opened the file and it worked!
In my case I got it worked with opening the Application Loader inside the XCode.
Steps : XCode -> Open Developer tool -> Application Loader
When I opened it with Launchpad it failed to identify the correct account for the app. Therefore, it asked me to create an account.
With XCode , Application Loader could list down the accounts I'm entitled for. You have to select the correct account from the drop down.
In my case the app was already set up, but the app version was already in use (waiting for review), I just needed to increase the version number.
In my case the problem was that my application had literally no information filled in the App Store Connect
In my case I was using a different account, I created an app on Itunes but selected different account on Xcode. So just Selected the right account on Xcode and it worked for me.
In my case
Checked if same user in itunes and xcode
Checked bundle ID is same
Solution:
Go to itunes inside the page of my app and inside the first tab "App Information" under the right hand side has a section "Others Information" click on the "edit user permission" and grant xcode user the permission to read the information of the app.
DONE

HealthKit iTunes Connect entitlement error

I had enabled health kit capability in Xcode and HealthKit service in Developer center at some point for my app. But then I disabled it right away as I decided to not include it. My app doesn't have any HealthKit related stuff in it, I have disabled the capability and also disabled it in developer center. However, when I try to submit my app in iTunes connect, it gives me error:
Apps that use the entitlements [com.apple.developer.healthkit] must have a privacy policy URL for [English]. If your app doesn’t use these entitlements, remove them from your app and upload a new binary.
When validating the app in Xcode, it still shows me health kit entitlement: com.apple.developer.healthkit
Any idea how I can completely get rid of this entitlement from my app? I have been struggling for over a day now :(
NOTE: this is a new app, it's not available in the app store yet.
I faced exactly the same problem, and I finally fixed it. Be sure that you remove any reference to HealthKit not only in your app but also in your developer profile for this app.
Go To the developer portal
Click the App IDs link on the Certificates, Identifiers & Profiles developer page
Select the App ID you are using in your app
Click the Edit button
If HealthKit is enabled, disable it and click the Done button
Regenerate all provisioning profiles using that App ID
Open Xcode
Turn Healtkit to off in your project (it looks like you already did it, I write it for the other)
Check you have no trace of Healtkit in your entitlement file, plist file and HealthKit is not in your Frameworks.
select Xcode > Preferences > Accounts. Select your team and click View Details
Click the refresh button in the bottom left corner to refresh your provisioning profiles
Restart Xcode and rebuild your project
Submit your app. During the submit process, you should not see the Healtkit Entitlement anymore.
NB : If you still face the problem, I suggest you to delete all your provisioning profile at step 5 and try again. Don't forgot to restart XCode.
There is option of Privacy Policy URL inside the APP, just fill that URL with the URL of your company and save and submit the application.

Resources