2015-05-12 22 views
22

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

+0

如果你关注的是调试生产环境,那么它是不可能的,但你可以带回你所有的记录调试环境在这里看到:HTTP:// stackoverflow.com/questions/29274481/any-way-to-debug-app-with-dataset-in-production-environment –

回答

1

从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指南,只要您仍在开发适用于您的应用程序的最佳数据模式,并且允许更快的开发,就应该使用开发环境。然后,苹果建议部署到生产和测试,然后再交给客户。所以我认为答案是,这取决于您在产品开发周期中的位置。如果你在早期阶段使用开发环境。如果你有现场的客户,那么只要它满足我的需求,我就会使用生产环境进行生产。如果我正在开发需要模式更改的新功能,那么您应该只在开发环境中开发这些功能,直到您确信将其部署到生产环境中后,不会为现有用户破坏任何内容并使其顺利过渡。希望这个帮助。

+1

这是来自文档,几乎是我在原始问题中提出的问题。我想知道的是,开发人员在Mac和iOS上为CloudKit开发的常见做法是什么,与其所有用户不同,该团队是否始终使用CloudKit开发环境? – yilin

+0

增加了我的答案的信息。 – harryhorn

+0

感谢您的回复,但那不太方便。在我的情况下,该方案已经完成,我只想为所有开发版本使用生产环境,所以假设我设置了一个新设备并从App Store下载我的应用程序,它会看到相同的数据。就目前而言,作为开发人员,如果我想在日常应用程序中运行开发版本,则必须始终运行开发版本,并使用其他用户的其他CloudKit环境。没什么大不了的,只是不方便。 – yilin

1

我不确定是否将“com.apple.developer.icloud-container-environment权利”设置为“Production”会在从Xcode运行的设备上工作 - 它在模拟器上不适用于我。

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

+5

修改 - 将权限文件中的“com.apple.developer.icloud-container-environment”设置为“Production”,然后从设备(不是模拟器)上的Xcode运行,将我送入生产环境。 –

+0

当我这样做的OS X应用程序,并从XCode7运行应用程序,该应用程序将不会以 '终止由于代码签名错误' 关于如何这可能适用于OS X应用程序的任何想法? – berbie

+0

这是在Mac上的越野车,这是一个耻辱。请向Apple提出一个错误,让他们知道我不是唯一抱怨的人。 – strangetimes

39

只需将以下条目添加到您的授权文件并执行干净的构建。这允许您在生产模式下使用cloudKit在Xcode中运行应用程序。

项补充:com.apple.developer.icloud-container-environment

enter image description here

+0

工作过一次,谢谢 –

+0

工作得很好,但仍然从生产环境和开发环境中获取数据。为什么?:)不仅应该从生产? –

+8

复制和粘贴:'com.apple.developer.icloud-container-environment' –

相关问题