6

XCTest フレームワークを使用して CloudKit コードの自動テストを作成したいと考えています。テスト ケースが実行され、有効なコンテナー オブジェクトが取得され、有効なパブリック データベース オブジェクトが取得されますが、実際に何かを実行しようとすると例外が発生して終了します。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
    reason: 'Failed to establish valid container/bundleID information'

私がこれまでに試したこと:

  • テスト ターゲットの を確認しましたがInfo.plist、そこにあるバンドル ID はコンテナー ID に対応しています。
  • [[NSBundle mainBundle] bundleIdentifier]正しいバンドル ID が返されるようにスウィズルしました。
  • メインアプリのターゲットから iCloud 資格をコピーしました。

しかし、私はまだ例外を受け取ります。CloudKit コードをテストで実行する方法はありますか?

4

1 に答える 1

3

主なポイントは、テストを「アプリケーション テスト」として実行することです。私はカスタム フレームワークをテストしているため、テスト スイートを実行するためのアプリケーション、資格、したがって CloudKit はありません。シンプルな「テスト リグ」ターゲット (空の Cocoa アプリ) を追加し、そこで資格を設定し、このテスト リグをバンドル ローダーおよびテスト スイートのテスト ホストとして設定する必要がありました。その後、テストで CloudKit を問題なく使用できます。@Wardさん、正しい軌道に乗ってくれてありがとう!

于 2014-06-11T18:02:46.740 に答える