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

问题描述 投票:34回答:4

我的iOS和Mac应用程序已启动到App Store,我的所有用户(包括我自己)都在使用CloudKit生产数据库。我的问题是,有什么方法可以针对我的开发版本针对生产环境吗?似乎没有办法在Mac App Store之外定位生产环境,对于iOS,只有Ad Hoc发行版才能定位生产环境。

ios macos cloudkit
4个回答
70
投票

将以下条目添加到您的entitlements文件中,然后执行干净的构建。

这使您可以在生产模式下使用CloudKit在Xcode中运行应用程序。

要添加的条目:com.apple.developer.icloud-container-environment与值:Production注意:不适用于模拟器

enter image description here


2
投票

摘自iCloud设计指南https://developer.apple.com/library/mac/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html#//apple_ref/doc/uid/TP40012094-CH9-SW1

在开发过程中,Xcode会自动将您的应用程序指向开发环境。在发布应用程序之前,请使用分发工作流程配置应用程序。在此工作流程中,Xcode允许您选择要针对开发环境还是生产环境,并使用选定的值将com.apple.developer.icloud-container-environment授权添加到您的应用程序中。出厂前,请确保针对生产环境配置您的应用程序。针对开发环境的应用将被App Store拒绝。

根据您的评论,这里还有一些其他想法:根据Apple准则,只要仍在为您的应用程序开发最佳的数据架构,并允许更快的开发,就应该使用开发环境。然后,苹果公司建议先部署到生产环境并对其进行测试,然后再提供给客户。所以我认为答案是,这取决于您在产品开发周期中所处的位置。如果您还处于初期阶段,请使用dev env。如果您在该领域有客户,那么只要满足我的需求,我就会使用生产环境进行生产。如果我要开发需要更改模式的新功能,则只能在dev env中开发这些功能,直到您确信将其部署到生产环境中不会破坏现有用户的任何东西并允许他们平稳过渡。希望有帮助。


2
投票

我不确定将“ com.apple.developer.icloud-container-environment权利”设置为“生产”是否可以在从Xcode运行的设备上使用-在模拟器上对我不起作用。

但是您可以使自己成为“内部审阅者”,并使用TestFlight运行新版本。 TestFlight使用生产环境。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.