問題タブ [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.
ios - WatchKit Complications で非同期操作を行うことは可能ですか?
watchOS 2 コンプリケーションで非同期操作を実行すると、結果がランダムになることがわかりました。操作が完了して合併症が更新される場合と、そうでない場合があります。そのような例の 1 つは、HealthKit のクエリです。
このコードでは、約半分の時間でハンドラーが呼び出されます。私は何を間違っていますか?
ios - カスタム ClockKit Complications コントローラーを接続してデバッグする方法は?
カスタムの ClockKit Complication を動作させようとしています。
- に準拠したカスタムComplicationController
CLKComplicationDataSource
を作成しました。として Watch 拡張機能の plist に追加されCLKComplicationPrincipalClass
ます。
時計でコンプリケーションを選択して有効にできますが、実際のプレースホルダーではなく「---------------」しか表示されません。
私が試したこと
override init(){…}
ComplicationController にカスタムを追加し、デバッグ用にブレーク ポイントを配置しました。しかし、Complicationビルド スキームを実行している場合でも、このブレーク ポイントに到達することはありません。私のカスタム ComplicationController はインスタンス化されていないようです。ログ メッセージは表示されます
Extension received request to wake up for complication support.
が、これがコードのどこでトリガーされているかが明確ではありません。InterfaceController
また、アクティブな合併症について調べるために、メインから次の呼び出しを試みました…しかし、
server
nil を返します。アクティブでリロードされている合併症はありません。
質問
カスタム ComplicationController を正常に接続するにはどうすればよいですか?
また、デバッグに関する追加のヒントも歓迎します。
通常、ウォッチ シミュレーターまたは iPhone のウォッチ アプリからコンプリケーションを削除するだけで十分ですか、それとも、コンプリケーション関連の更新が有効であることを確認するには、ウォッチ アプリ全体を再インストールする必要がありますか? また、カスタム ComplicationController 内で何かをログに記録する場合、Complications ビルド スキームまたは通常の Watch アプリ ビルド スキームで実行している場合にのみ、その出力を表示する必要がありますか?
問題を見つけるためのアイデアは大歓迎です。
watchos-2 - Apple Watch のコンプリケーションがバックグラウンドで更新されない
Apple Watch のコンプリケーションが正しく初期化され、期待どおりのデータが表示されます。ただし、getNextRequestedUpdateDateWithHandler メソッドで返された NSDate が更新をトリガーする場合、デリゲートで再度呼び出される唯一のメソッドは getNextRequestedUpdateDateWithHandler メソッドです (これを判断するためにすべてのメソッドにブレークポイントを設定しています)。要求された更新日が発生したときに requestedUpdateDidBegin が呼び出されることを期待していましたが、そうではないようです。誰がこれを引き起こしているのか知っていますか? これが私のコードです:
watchkit - ウォッチキット コンプリケーションとロケーションのアップデート?
位置データを使用する合併症を書こうとしています。複雑なコントローラーで位置データを取得できますが、結果が非同期に返されるため、正しく機能していないようです。
場所固有のデータを使用して合併症を更新する最良の方法は何ですか? コンプリケーションで場所を取得することはお勧めできません (可能ですが)。
ios - WatchOS2 で NSURLSession バックグラウンド タスクを使用する
watchOS 2 で NSURLSession バックグラウンド タスクをどのように使用するのか疑問に思っています。
コンプリケーションが起動するたびに、バックグラウンド ダウンロードを開始したいと考えています。私にははっきりしないのは、私がどこにいるのかということapplication:handleEventsForBackgroundURLSession
です。
WatchKit 拡張機能のどの部分が起動し、このコールバックはどこで取得されますか? この部分はドキュメントではあまり明確ではありません。
watchkit - 1 日の予算を使い切らないように、ウォッチが起動しているときにのみウォッチ コンプリケーションを更新する方法
2 つのブール値を保持するサーバーがあります。これらのブール値は 15 秒ごとに変更されます。
Apple Watch を起動するたびに、コンプリケーションが現在の状態を表示するようにしたい。早い段階で予算を使い果たすことなく、どうすればそれを行うことができますか?
最良の方法は、時計を起動するたびに、最新の状態をコンプリケーションにフェッチすることです。私が見る唯一の方法は、15 秒ごとにサーバーを (直接または電話経由で) ポーリングすることです。問題は、割り当てられた時間をすぐに使い切ってしまうことです。
時計が起動したときにだけコンプリケーションを更新できるようにできれば素晴らしいと思います。それはできますか?