Ios8 CloudKit错误“;无法修改生产架构";生产环境中的模式

Ios8 CloudKit错误“;无法修改生产架构";生产环境中的模式,ios8,icloud,cloudkit,Ios8,Icloud,Cloudkit,我的应用程序使用CloudKit专用数据库同步数据。在开发环境中,创建新的CKRecordZone是成功的。 当我使用生产环境测试我的应用程序时,CKModifyRecordZones操作返回错误。我使用临时部署来解决CK生产环境问题 我检查了以下内容: 架构已部署到生产环境 查询容器关于accountStatus返回CKAccountStatusAvailable 我使用以下代码创建CKRecordZone: CKRecordZone*recordZone=[[CKRecordZone a

我的应用程序使用CloudKit专用数据库同步数据。在开发环境中,创建新的CKRecordZone是成功的。 当我使用生产环境测试我的应用程序时,CKModifyRecordZones操作返回错误。我使用临时部署来解决CK生产环境问题

我检查了以下内容:

  • 架构已部署到生产环境
  • 查询容器关于accountStatus返回CKAccountStatusAvailable
我使用以下代码创建CKRecordZone:

CKRecordZone*recordZone=[[CKRecordZone alloc]initWithZoneName:DatabaseZoneName];
CKModifyRecordZoneOperation*modifyOperation=[[CKModifyRecordZoneOperation alloc]initWithRecordZonesToSave:@[recordZone]recordZoneIDsToDelete:nil];
在生产环境中测试时收到的错误:

:从服务器收到错误48:{ clientError={ 类型=zoneNotFound; })

:请求中的语法错误

在CloudKit仪表板中,我可以在生产环境中看到我的模式deployend(绿色背景)。
知道哪里出了问题吗?

并且您确定在部署到生产环境时已存在名为DatabaseZoneName的区域?因为您无法为生产环境创建新区域。您应该在开发环境中创建区域,然后将该架构部署到production@edwin,苹果文件ION说:“CKRecordZone对象定义了一个区域,用于组织数据库中的相关记录。公共和私有数据库都有一个默认区域,在私有数据库中,您可以根据需要创建其他自定义区域。”。因为这是私有数据库(特定于用户),所以我不能“提前”创建区域。因此,我相信在生产模式中调用ckModifyRecordZoneOperation应该会成功。如果您仔细检查了应用程序是否指向生产和正确的容器,则这可能是一个服务器错误,其中容器已进入错误状态。如果您创建一个新容器并将应用程序指向该容器,是否会发生这种情况?无论是哪种情况,如果你抓取日志()这将是一个很好的雷达。我有完全相同的问题,你。我有另一个应用程序使用相同的代码,正在工作。我不知道为什么在我的新应用程序上它不工作。你找到一种方法使它工作吗?
self.container accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError *error)