web-dev-qa-db-ja.com

開発中に本番CloudKitを使用しますか?

私のiOSアプリとMacアプリがApp Storeにリリースされ、私を含むすべてのユーザーがCloudKit運用データベースを使用しています。私の質問は、開発ビルドの本番環境をターゲットにする方法はありますか? Mac App Storeの外で本番環境をターゲットにする方法はないようです。iOSの場合、本番環境をターゲットにできるのはアドホック配布のみです。

39
yilin

entitlementsファイルに次のエントリを追加し、クリーンビルドを実行します。

これにより、アプリケーションをXcodeでCloudKitをプロダクションモードで実行できます。

追加するエントリ:com.Apple.developer.icloud-container-environment、値:Production注:シミュレータでは機能しません

enter image description here

77
RawMean

「com.Apple.developer.icloud-container-environment entitlement」を「Production」に設定することがXcodeから実行されているデバイスで機能するかどうかはわかりません。シミュレータでは機能しません。

しかし、自分を「内部レビュアー」にして、TestFlightを使用して新しいバージョンを実行することもできます。 TestFlightは本番環境を使用します。

2
Peter B. Kramer

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ガイドラインに従って、アプリケーションに最適なデータスキーマをまだ開発している限り、開発を高速化するために、開発環境を使用する必要があります。 。次に、Appleは、顧客に提供する前に、製品にデプロイしてテストすることを提案します。そのため、答えは、製品開発サイクルのどこにいるかによって異なると思います。初期段階ではdev envを使用します。フィールドに顧客がいる場合は、ニーズを満たす限り、本番環境で本番環境を使用します。スキーマの変更が必要な新機能を開発している場合は、開発環境でのみ開発環境を開発する必要があります。それらを本番環境にデプロイしても、既存のユーザーにとって何も問題がなく、スムーズな移行が可能になると確信しています。

2
harryhorn

Com.Apple.developer.icloud-container-environmentに加えて。最初から本番環境のクラウドが機能していないことがわかりました。ダッシュボードでログを確認したところ、エラーが表示されていました。私が開発設定をプロダクションにデプロイしたときだけ、それは機能しました。開発者は自動的に新しい設定を作成するようですが、本番環境は作成しません。おそらく、アプリからプログラムを使って設定を行う必要がありますが、この情報が役立つことを願っています。

0