1
votes

Good day! In CloudKit Dashboard I get the error:

There was a problem loading the environment’s status

enter image description here

This happens when I select the action "Deploy Schema to Production..." for the "Development" schema:

enter image description here

I have a released application using CloudKit (respectively, there are two working schemes - Development and Production). Before the release of the application, the Development schema in CloudKit Dashboard was translated into Production (Deploy schema to production). Now I needed to make changes to the schema. A new field and indexes for it, as well as indexes for an existing field, have been added to the Development schema. Now I am trying to move the schema from Development to Production in CloudKit Dashboard (so that my changes show up in Production) and this error persists, is there any other way you can update the Production schema or fix this error?

2
I have the same error, for three weeks now. Looking at the network requests, the one to p39-ckdatabasews.icloud.apple.com/r/v3/user/<container-name>/production/public/admin/deployment/status?team_id=<team-id> is never answered. That points to a problem with the status of the Production stage.Jannik Arndt

2 Answers

3
votes

There can be a lot of strange errors in the CloudKit dashboard. Here are a few suggestions:

  1. Try again later (and always do a hard refresh when you do). Sometimes the error is temporary.
  2. Try in a different web browser. Support for Chrome has improved lately, but there were times when Safari was the only way to make certain things happen.
  3. Create a new CloudKit container, rebuild your schema, and then try to deploy. I've had certain bugs never go away within a particular container and I've had to start over fresh.
  4. If the issue persists, submit a Feedback to the CloudKit team. They have fixed things within a day or two for me in the past.

Aside from that, your particular error isn't terribly descriptive and it's most likely something on Apple's end.

1
votes

I found out that it runs into a client-side timeout of 1 minute, but the server takes longer. You can kill the timeout with

var id = window.setTimeout(function() {}, 0);

while (id--) {
    window.clearTimeout(id); // will do nothing if no timeout with id is present
}

For details, see https://stackoverflow.com/a/67862078/