Invalid code signing rights for iCloud, Core Data, and Xcode 6.01 with iOS 8

I have an existing application in the App Store that works fine with iOS 7 and 8. This is an application that uses Core Data to store information added by the user, as well as iCloud for synchronization (without storing the key).

With Xcode 5.1.1, everything works very well. I just spent some time releasing an urgent timezone fix for my users, so the fix has nothing to do with iCloud and Core Data. Since the release of Xcode 6.0.1 and the iOS 8 SDK, I went ahead and started using it.

When it came to verifying my application this morning, I received the following error:

Invalid Code Signing Entitlements. The entitlements in your app bundle signature do not match the ones that are contained in a provisioning profile. The bundle contains a key that is not included in the provisioning profile: 'com.apple.developer.icloud-container-environment' in Payload/AppName.app/AppName'. 

My Application ID has iCloud enabled in the developer portal, but only for Xcode 5, because I do not want to use CloudKit yet:

enter image description here

In the Xcode section in Xcode 6, I now see the following, like everyone else:

enter image description here

With my rights folder. So in my case it is something like 82828282.com.company.app and it is in the RED in the Capabilities section.

enter image description here

I don't quite understand what I have to do to get this to work.

Questions

1) Do I intend to use CloudKit?

2) Should I include CloudKit in the app ID of the developer portal?

3) Do I intend to use iCloud containers in the developer portal?

My current iCloud is configured to use permissions: TeamID.identifier.

I worked on this by sending the application from Xcode 5.1.1, because it is an urgent solution, but I just don’t understand what to do to advance using iOS 8 and Xcode 6.0.1 for future development, with iCloud and Core Data still very much in my application.

I saw some similar cases in SO like here ( iCloud Core Data Not available after launching in Xcode 6 / ios 8 SDK ) and Using Core Data, iCloud and CloudKit for synchronization and backup and collaboration , but I'm really not sure what to do .

Any guidance at all would be greatly appreciated.

+5
source share
2 answers

If you want to use the old Ubiquity container format (the one that starts with your $ (TeamIdentifierPrefix)) after Xcode 6 has updated it to the iCloud container, you need to:

  • Go to the "Certificates, Identifiers and Profiles" page in the Apple Member Center and set "Xcode 5 Compatibility" in the iCloud settings of your application ID. It seems that you have already done this.

  • Make sure that your key does not have the key "com.apple.developer.icloud-services" or "com.apple.developer.icloud-container-identifiers".

  • You may need to restore all provisioning profiles that use this application identifier.

+3
source

I had a similar problem with Xcode 7.3.1, but involving only iCloud, my application does not support Core Data, and after I tried most of the offers found on the Internet, without any luck, I decided by going to the portal developer

Certificate Identifier Identifiers β†’ Identifiers β†’ iOS Application Identifiers β†’ NameOfMyApp β†’ Change

and there, change the switch from "Xcode 5 Compatibility" to "Enable CloudKit Support (Xcode 6 Required) . " My application uses only iCloud Key-value storage. enter image description here

+1
source

Source: https://habr.com/ru/post/1203229/


All Articles