1

のようなさまざまなデリゲートを問題なくインポートWatchKitして使用できます。WatchConnectivityWCSessionDelegate

しかし、インポートClockKitまたは追加しようとするCLKComplicationDataSourceと、Xcode は「モジュールが存在しません」などのエラーをスローします。

これを確認するために、watch アプリ プロジェクトを作成し、ComplicationController.swift を調べました。ソースにはimport ClockKitあります。

この API を Xcode Playground でテストできないのはなぜですか? それは遊び場を持つ目的を無効にしませんか?

4

1 に答える 1

4

いいえ、以下の理由でできません。

  • プレイグラウンドは、watchOS シミュレーターではなく、iOS シミュレーターで実行されています。使用またはテストしたいものは、iOS では利用できません。

  • ClockKitフレームワークは、ウォッチフェイスの複雑化に関連するオブジェクトのコレクションのようなものです。プレイグラウンド自体には複雑な問題がないため、プレイグラウンドで使用できるようにしても意味がありません。

  • データ ソース メソッドを呼び出すインタラクティブな合併症サーバーがプレイグラウンドで実行されていないため、プレイグラウンドで合併症を実際にテストすることはできません。

    コンプリケーションはバックグラウンドで実行され、コンプリケーション サーバーによって管理されます。時計面でコンプリケーションがアクティブ (有効) になっている場合、システムはバックグラウンドで拡張機能を起動し、データ ソースのインスタンスをインスタンス化し、そのコンプリケーションに必要なデータを取得します。

    データ ソース クラスを明示的にインスタンス化しません。クラスを定義したら、WatchKit 拡張機能のプロジェクト設定の [全般] タブでクラス名を指定します。システムでデータが必要になると、クラスがインスタンス化され、init メソッドを呼び出して初期化されます。初期化されると、対応するプロトコル メソッドを呼び出して、必要なデータを収集します。

プレイグラウンドでコンプリケーション コントローラーをインタラクティブにテストできるように Apple に依頼する機能リクエストを送信できます。

于 2016-03-14T20:51:05.740 に答える