Ios 在开发过程中使用生产CloudKit?

Ios 在开发过程中使用生产CloudKit?,ios,macos,cloudkit,Ios,Macos,Cloudkit,我的iOS和Mac应用已经发布到应用商店,我的所有用户,包括我自己,都在使用CloudKit生产数据库。我的问题是,是否有任何方法可以针对我的开发构建的生产环境?似乎没有办法针对Mac App Store之外的生产环境,而对于iOS,只有临时分发才能针对生产环境 来自《iCloud设计指南》 在开发过程中,Xcode会自动将应用程序指向开发环境。在发布应用程序之前,请使用分发工作流配置应用程序。在此工作流中,Xcode允许您选择是针对开发环境还是生产环境,并使用您选择的值向应用程序添加com.a

我的iOS和Mac应用已经发布到应用商店,我的所有用户,包括我自己,都在使用CloudKit生产数据库。我的问题是,是否有任何方法可以针对我的开发构建的生产环境?似乎没有办法针对Mac App Store之外的生产环境,而对于iOS,只有临时分发才能针对生产环境

来自《iCloud设计指南》

在开发过程中,Xcode会自动将应用程序指向开发环境。在发布应用程序之前,请使用分发工作流配置应用程序。在此工作流中,Xcode允许您选择是针对开发环境还是生产环境,并使用您选择的值向应用程序添加com.apple.developer.icloud-container-environment权限。发货前,请确保为生产环境配置应用程序。应用商店将拒绝以开发环境为目标的应用

根据您的评论,这里有一些额外的想法:
根据Apple指南,只要您仍在开发适合您的应用程序的最佳数据模式,并且允许更快的开发,就应该使用development env。然后,苹果建议在交付给客户之前,将其部署到生产环境中并对其进行测试。所以我认为答案是,这取决于你在产品开发周期中的位置。如果您处于早期阶段,请使用dev env。如果您在该领域有客户,那么我会使用生产环境进行生产,只要它满足我的需要。如果我正在开发需要更改模式的新功能,您应该只在dev env中开发这些功能,直到您确信将它们部署到生产环境中不会破坏现有用户的任何功能,并允许他们顺利过渡。希望有帮助。

我不确定将“com.apple.developer.icloud-container-environment”设置为“Production”是否能在从Xcode运行的设备上工作-在模拟器上对我不起作用


但您可以让自己成为一名“内部审查员”,并使用TestFlight运行一个新版本。TestFlight使用生产环境

将以下条目添加到您的授权文件中并执行干净的构建

这允许您在生产模式下使用CloudKit在Xcode中运行应用程序

要添加的条目:
com.apple.developer.icloud容器环境
with 值:
生产
注意:不适用于模拟器


除了com.apple.developer.icloud-container-environment。我发现生产云从一开始就不起作用。我检查了仪表板中的日志,发现了错误。只有当我将开发设置部署到生产环境中时,它才起作用。看起来开发人员会自动创建新设置,但生产人员不会。也许我应该从应用程序中进行更多的编程设置,但我希望这些信息能有所帮助。

这是来自文档的,与我在原始问题中所问的差不多。我想知道的是,对于在Mac和iOS上开发CloudKit的开发人员来说,通常的做法是什么?团队是否总是使用CloudKit开发环境,不像他们所有的用户?在我的回答中添加了信息。感谢您的回复,但这并不方便。在我的情况下,方案完成了,我只想能够将生产环境也用于我的所有开发构建,所以假设我安装了一个新设备并从应用商店下载我的应用程序,它将看到相同的数据。目前,作为开发人员,如果我想在日常使用th应用程序时运行开发构建,我必须始终运行开发构建,并使用与其他用户不同的CloudKit环境。没什么大不了的,只是不方便。谢谢,当应该使用开发时,这就清楚了。但是,这些问题询问是否可以在应用商店之外使用Mac应用程序的生产CK环境作为测试版分发。以我的经验,这是不可能的。最好能得到确认。问题是TestFlight不支持OS X应用程序——因此,当您希望测试TestFlight上处于测试状态的iOS应用程序时,您需要OS X应用程序处于调试模式才能连接到生产环境。这是一个一团糟的不便,因为我甚至还没有能够让Adhoc Mac应用程序为“生产”而构建,因为Adhoc副本本质上是在Mac上开发构建的(没有Adhoc这样的东西)。那你怎么测试呢!?如果您关心的是调试生产环境,那么这是不可能的,但是您可以将所有记录带回调试环境,请参见:修订-在授权文件中将“com.apple.developer.icloud容器环境”设置为“生产”,然后在设备(而不是模拟器)上从Xcode运行将我发送到生产环境。当我为OS X应用程序执行此操作并从XCode7运行该应用程序时,该应用程序不会以因代码签名错误而终止的
启动。有关如何为OS X应用程序执行此操作的任何想法?这在Mac上是有缺陷的,这是一个遗憾。请向苹果公司提出一个错误,让他们知道我不是唯一一个抱怨的人。@berbie你需要Xcode 8和macOS Sierra才能使用
云容器环境
无代码符号的授权错误2019:显然,从Xcode 11开始,它现在也可以在模拟器上运行,效果很好,但这仍然从生产和开发环境中获取数据。为什么?:)不应该只从生产中复制和粘贴:
com.apple.developer.icloud container environment
如果我在提交到AppStore时忘记删除它,它会有什么变化吗?它通过了AppStore的审查,没有问题。这在Xcode 9中仍然有效,谢谢@RawMean,这救了我一天!对于那些发现很难获得权利文件的人来说,它在项目中