問題タブ [apple-watch-complication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
158 参照

ios - WatchKit Complications で非同期操作を行うことは可能ですか?

watchOS 2 コンプリケーションで非同期操作を実行すると、結果がランダムになることがわかりました。操作が完了して合併症が更新される場合と、そうでない場合があります。そのような例の 1 つは、HealthKit のクエリです。

このコードでは、約半分の時間でハンドラーが呼び出されます。私は何を間違っていますか?

0 投票する
1 に答える
1161 参照

ios - カスタム ClockKit Complications コントローラーを接続してデバッグする方法は?

カスタムの ClockKit Complication を動作させようとしています。

  1. に準拠したカスタムComplicationControllerCLKComplicationDataSourceを作成しました。として Watch 拡張機能の plist に追加されCLKComplicationPrincipalClassます。

時計でコンプリケーションを選択して有効にできますが、実際のプレースホルダーではなく「---------------」しか表示されません。

私が試したこと

  • override init(){…}ComplicationController にカスタムを追加し、デバッグ用にブレーク ポイントを配置しました。しかし、Complicationビルド スキームを実行している場合でも、このブレーク ポイントに到達することはありません。私のカスタム ComplicationController はインスタンス化されていないようです。

  • ログ メッセージは表示されますExtension received request to wake up for complication support.が、これがコードのどこでトリガーされているかが明確ではありません。

  • InterfaceControllerまた、アクティブな合併症について調べるために、メインから次の呼び出しを試みました

    …しかし、servernil を返します。アクティブでリロードされている合併症はありません。

質問

  • カスタム ComplicationController を正常に接続するにはどうすればよいですか?

    また、デバッグに関する追加のヒントも歓迎します。

    通常、ウォッチ シミュレーターまたは iPhone のウォッチ アプリからコンプリケーションを削除するだけで十分ですか、それとも、コンプリケーション関連の更新が有効であることを確認するには、ウォッチ アプリ全体を再インストールする必要がありますか? また、カスタム ComplicationController 内で何かをログに記録する場合、Complications ビルド スキームまたは通常の Watch アプリ ビルド スキームで実行している場合にのみ、その出力を表示する必要がありますか?

問題を見つけるためのアイデアは大歓迎です。

0 投票する
1 に答える
1810 参照

watchos-2 - Apple Watch のコンプリケーションがバックグラウンドで更新されない

Apple Watch のコンプリケーションが正しく初期化され、期待どおりのデータが表示されます。ただし、getNextRequestedUpdateDateWithHandler メソッドで返された NSDate が更新をトリガーする場合、デリゲートで再度呼び出される唯一のメソッドは getNextRequestedUpdateDateWithHandler メソッドです (これを判断するためにすべてのメソッドにブレークポイントを設定しています)。要求された更新日が発生したときに requestedUpdateDidBegin が呼び出されることを期待していましたが、そうではないようです。誰がこれを引き起こしているのか知っていますか? これが私のコードです:

0 投票する
1 に答える
285 参照

watchkit - ウォッチキット コンプリケーションとロケーションのアップデート?

位置データを使用する合併症を書こうとしています。複雑なコントローラーで位置データを取得できますが、結果が非​​同期に返されるため、正しく機能していないようです。

場所固有のデータを使用して合併症を更新する最良の方法は何ですか? コンプリケーションで場所を取得することはお勧めできません (可能ですが)。

0 投票する
1 に答える
672 参照

ios - WatchOS2 で NSURLSession バックグラウンド タスクを使用する

watchOS 2 で NSURLSession バックグラウンド タスクをどのように使用するのか疑問に思っています。

コンプリケーションが起動するたびに、バックグラウンド ダウンロードを開始したいと考えています。私にははっきりしないのは、私がどこにいるのかということapplication:handleEventsForBackgroundURLSessionです。

WatchKit 拡張機能のどの部分が起動し、このコールバックはどこで取得されますか? この部分はドキュメントではあまり明確ではありません。

0 投票する
1 に答える
2918 参照

watchkit - 1 日の予算を使い切らないように、ウォッチが起動しているときにのみウォッチ コンプリケーションを更新する方法

2 つのブール値を保持するサーバーがあります。これらのブール値は 15 秒ごとに変更されます。

Apple Watch を起動するたびに、コンプリケーションが現在の状態を表示するようにしたい。早い段階で予算を使い果たすことなく、どうすればそれを行うことができますか?

最良の方法は、時計を起動するたびに、最新の状態をコンプリケーションにフェッチすることです。私が見る唯一の方法は、15 秒ごとにサーバーを (直接または電話経由で) ポーリングすることです。問題は、割り当てられた時間をすぐに使い切ってしまうことです。

時計が起動したときにだけコンプリケーションを更新できるようにできれば素晴らしいと思います。それはできますか?