0

問題:

「transferUserInfo」を使用して、Watch アプリからメインの iPhone アプリに情報を送信しようとしました。これは、iPhone が使用可能な場合に機能します。

私の理解では、iPhone が利用できない場合、メッセージはキューに入れられ、iPhone が利用可能になったときに順番に配信されるはずです。ただし、iPhone がしばらく使用されていない場合は機能しません (「didReceiveUserInfo」が呼び出されず、メッセージが失われます)。

iPhone が利用できない間に送信したすべてのメッセージが最終的に配信され、失われないようにするにはどうすればよいですか?

これは iOS/watchOS のバグですか、私の実装で問題になる可能性がありますか、それとも意図した動作ですか? 他の人も同じ問題を経験しましたか?

デバイスと OS

  • iOS 9.1 搭載の iPhone 6s
  • watchOS 2.0.1 を搭載した Apple Watch
4

1 に答える 1

1

あなたの推測した動作は正しいtransferUserInfo:です。接続されていないときにキューに入れる必要があります。

ただし、転送時にも切断やエラーが発生する場合があります。この場合、時計OSは再転送されないようです。

WCSessionDelegateは、コールバックがあります-session:didFinishUserInfoTransfer:error:。このコールバックは、ケースの成功またはエラーの両方で呼び出されます。

これで, エラー状態を取得できます. を使って再送信できます.transferUserInfo:

于 2015-11-26T07:04:31.780 に答える