問題タブ [watchconnectivity]

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 投票する
1 に答える
513 参照

watchkit - バックグラウンドで Apple Watch から iPhone にデータを送信する

心拍数をキャプチャしてリアルタイムで iPhone に送信する Apple Watch 用のアプリを開発しています。

問題は、ディスプレイがスリープ状態になるとデータが送信されなくなり、(画面に触れて) ディスプレイが復帰すると、データ値の送信/複製が再開されることです。

ディスプレイがスリープしないようにする方法がないか探してみましたが、できないと思います。

アプリがバックグラウンドでデータを適切に収集および送信し続けるにはどうすればよいですか?

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

ios - アプリケーションをバックグラウンドに置き、フォアグラウンドに戻す方法 (watchOS および iOS)?

私はいくつかの通知を受け取ることを目的としたwatchOS用のアプリケーションを作成しています.これらの通知を送信するデバイスはiPhoneです.

Apple Watch と iPhone の間の通信を確立することができました。iPhone は既に Apple Watch にメッセージを送信しており、Apple Watch も既に iPhone にメッセージを送信しています。WatchNotificationツールは使用しませんでした。

何が起こっているのかというと、アプリケーションを実行すると、Apple Watch で自動的に開きます。私が望むのは、アプリケーションがバックグラウンドで実行され続けることです。iPhone でボタンを押すと、Apple Watch にテキストが送信され、(Apple Watch がテキストを受信したときに) アプリケーションが正常に開きます。

どんな助けにも感謝します。

iPhoneコード

コードを見る

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

size - watchconnectivity で送信できる辞書の最大サイズはどれくらいですか

os2 を監視するために iPhone 経由で .5 MB サイズの辞書を送信していましたが、メッセージの返信が毎回失敗しました。watchos1 では正常に動作しています。そのディクショナリには 700 個のオブジェクトがあります。助けてください。

0 投票する
2 に答える
800 参照

ios - sendMessage を使用して Array を Watch に送信する方法 | エラー: タイプ '__NSCFArray' の値を 'NSString' にキャストできませんでした

iPhone から Watch に文字列値の配列を送信するために使用WatchConnectivityしていますが、そうすると次のエラーが発生します。

タイプ '__NSCFArray' (0x591244) の値を 'NSString' (0x9f7458) にキャストできませんでした。

ディクショナリ内の文字列の配列を時計に送信し、配列を保存してWKInterfaceTable.

どこが間違っているのか、時計に配列を表示する方法を知っている人はいますか?

iPhone

ウォッチからデータを送信するための最初のメッセージを受信した後、iPhonedidRecieveMessageは次のことを行います。

という配列がありobjectsArray、各オブジェクトには という文字列プロパティがありますtitle。すべての値に対して新しい配列を作成し、titleその配列をディクショナリで使用してウォッチに送信します。

時計

アップデート

上記のエラーは、ラベル テキストを値に設定するときの更新アクションと関係があるようです。ただし、行をコメントアウトした後でも、配列は WKInterfaceTable に表示されていないようで、印刷ステートメントはコンソールに出力されません。

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

ios - WatchKit:電話が時計に応答を送信するときの遅延

ライブ アップデートが必要な watchOS2 アプリがあります。これは、電話のソケット データを介して行われます。電話がデータを取得すると、時計に投稿します。しかし、問題は、電話から時計までの遅延があることです。私は使っている :

しかし、それでも数秒の遅延があります。

を使用してみsendMessageましたが、これも同じ問題がありました。Apple ドキュメントをチェックインすると、データは「適切な」時間に送信されると表示されます。これに対する回避策はありませんか?

https://developer.apple.com/library/prerelease/watchos/documentation/WatchConnectivity/Reference/WCSession_class/index.html

同じことを言う別のリンク:

https://www.macstories.net/stories/watchos-2-review/2/

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

ios - WatchOS WCSession sendMessage のデバッグと状態復元に関する問題で、iPhone アプリが強制終了されました

シンプルな WatchOS 2.0 機能をアプリに追加して、時計で簡単なアクションをトリガーし、iPhone のメイン アプリで効果を発揮できるようにしようとしています。このすべては、WCSession の sendMessage メソッドを使用して時計からメッセージを送信することによって決まります。

これまでのところ、すべて正常に機能しています。メッセージが送信され、メッセージが受信され、アプリが正しく反応します。アプリをバックグラウンドにすることもでき、すべてが正常に動作しているようです (iPhone がウォッチの接続コンテキストを更新し、ウォッチに反映されるため、iPhone がメッセージに反応したかどうかをウォッチで確認できます)。今すぐエッジケースのデバッグを開始したいだけです。

私の主な2つの心配は...

アプリが強制終了された場合、アプリを起動するシステムをどのように正確にデバッグできますか。Xcode からプロセスを生成することは明らかにできません。プロセスにアタッチしようとすると、明らかに遅すぎます。理想的には、ブレークポイントを非常に早く設定して、動作を確認できるようにしたいと考えています。最悪の場合、私が推測する多くのログに依存して、それらを調べることができます。このシナリオをデバッグする良い方法があるかどうか疑問に思っていますか?

最後に、状態の復元に関して、sendMessage が送信されるシナリオによって実行される、この強制終了されたアプリで何が起こるか。すなわち。

  • アプリが特定の状態で実行されていた (A)
  • ホームボタンを押してアプリをバックグラウンドにすると、そのときのアプリの状態 (A) に対して状態エンコードが実行されます。
  • その後、アプリはバックグラウンドで待機します。
  • 次に、Xcode での実行を停止して、アプリを強制終了します。
  • 最後に、時計から sendMessage を送信して、システムが強制終了されたアプリを再実行するようにします。
  • この段階で、状態の復元の読み込みが発生し、メッセージが届き、アプリの状態を状態 B に変更して処理され、アプリはバックグラウンドに戻ります。

私の問題は、アプリが最初にバックグラウンド化されたときに、状態エンコーディングが状態 A に保存されていることです。

ウォッチ接続 sendMessage の処理が完了した後、バックグラウンドで新しい状態エンコードを強制的に発生させる方法はありますか?

次にアプリを適切に開いたときに何が起こるか、時計の sendMessage を処理したときに状態 A に戻る状態の復元が発生し、状態 B にあるはずです。まだバックグラウンドで実行されていると推測しているので、アプリがバックグラウンドで生成されたアプリは持続し、新しい状態の復元は発生しません。ただし、システムが状態 B でバックグラウンドになっているときにアプリを再度強制終了した場合はどうなるでしょうか。このシナリオでは、新しい状態 B を保存するために新しい状態エンコードが必要なのか、それともアプリを強制終了して何もしないことを理解していますか。もしそうなら、最終的にそれを新たに起動したときに、アプリの状態 B ではなく、再びアプリの状態 A に戻る可能性があります。

余談ですが、この種のことを試してデバッグし始めたばかりですが、このシステムにデバッガーを接続する機能がないように見えますが、iPhone アプリのインスタンスを再実行しました。強制終了された iPhone アプリを起動する sendMessage を実行すると、時計アプリが適切に更新されないことに気付きました。電話アプリは、要求されたアクションを完全には実行しません。この状態で何が起こったのかは今のところわかりませんが、状態の回復が邪魔になるのではないかと思います. メッセージを受信し、アプリを起動し、状態の復元がまだ行われていないため、存在しないデータに対処しようとすると、状態の復元が行われます..時計から 2 回目にメッセージを送信すると、アプリは正しく動作するので、その最初のメッセージでアプリが起動するが、何らかの理由で起動しないかのように' メッセージを正しく処理しない。正常に起動すると、次の sendMessage は通常どおり処理されます。

申し訳ありませんが、iPhone アプリが sendMessage 呼び出しからバックグラウンドで再実行されたときに何が起こるかについて、ドキュメントがかなり曖昧です。誰でもアイデアはありますか?いつものようにあなたの時間は本当に感謝しています! 乾杯!