CloudKit仪表板:将架构部署到生产环境失败,原因是加载环境状态时出现问题仪表板、环境、架构、加载

2023-09-04 02:00:28 作者:吃醋是最诚实的告白

注意:这并不新鲜,但我对它有一些新的见解。

大约三个星期以来,我经常尝试使用CloudKit Dashboard将我的CloudKit容器的开发模式部署到生产环境中:

CloudKit快速入门之03 使用CloudKit仪表板管理数据库 SwiftUI iCloud CloudKit中文文档手册教程 iCloudEnd的博客 CSDN博客

它正好旋转了一分钟,然后告诉我";加载环境状态时出现问题&

这并不新鲜,许多其他问题也面临着这个问题:

Error CloudKit Dashboard - There was a problem loading the environment's status Does iCloud need to be in the Production environment in order to use in Production? iCloud dashboard: Cannot deploy CloudKit schema to Production

Apple Support告诉我

查看https://developer.apple.com/forums/thread/656723(网络稳定一天后重试) 使用Safari并重置浏览器设置清除缓存和Cookie 您还可以尝试创建新的CloudKit容器,重新生成架构,然后重试。&q;=&>显然不起作用,因为用户有生产数据

推荐答案

TL;DR:

通过在控制台中运行以下命令来终止超时:

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

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

(响应undefined-没关系)

我是如何到达那里的

因此,当我单击部署时,我开始查看站点向后端发出的请求。Chrome显示对

的请求
https://p39-ckdatabasews.icloud.apple.com/r/v3/user/<container-name>/production/public/admin/deployment/status?team_id=<team-id>

在1.0分钟后取消。

洞察1

问题出在生产架构。我以前使用过Reset Development Environment,以确保我自己没有搞砸,但这样我就不会那样做了。

我使用Copy as cURL命令(在Chrome中,因为它还复制身份验证Cookie,而Safari不复制),并在Terminal中运行它。

有趣的是,会在1‘37分钟后做出响应。X-Apple-Edge-Response-Time: 97244头也是这样说的。

如果您知道要查找什么,控制台还会告诉您请求超时:

洞察2

服务器响应时间太长(>;1分钟),客户端脚本超时(1分钟)

注意:您也可以通过在Chrome中右键单击请求并选择&Quot;Replay XHR&Quot;来获得响应。

解决方案

我试图理解发送XHR请求的JavaScript并修改超时,但失败了。但是,您显然可以清除存在的所有超时

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

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

(来自https://stackoverflow.com/a/8860203)

在等待回复的同时运行它对我来说真的很管用!

 
精彩推荐
图片推荐