2015-11-18 20 views
0

問題:爲什麼當我的iPhone手機遙不可及時,從我的手錶發送的「transferUserInfo」消息沒有傳送到iPhone?

我試圖用「transferUserInfo」從我的收藏的應用程序將信息發送給主要的iPhone應用程序。這適用於iPhone可用時。

如果iPhone不可用,根據我的理解,當iPhone變得可用時,消息應排隊並按順序發送。但是當iPhone一段時間沒有可用時(然後「didReceiveUserInfo」未被調用並且消息丟失)它不起作用。

我可以做些什麼來確保在iPhone無法使用時發送給iPhone的所有消息最終都會發送並且不會丟失?

這是一個iOS/watchOS錯誤,是我的實現中可能存在的問題,還是這是一個預期的行爲?讓別人遇到同樣的問題?

設備和OS

  • 與iOS 9.1 iPhone 6S
  • Apple關注與watchOS 2.0.1
+0

你能澄清你的意思是,「夠不着」?也就是說,手機剛被鎖定?手機是否超出藍牙範圍? – Drewf

+0

當然可以:如果用戶信息超出藍牙範圍一段時間,則不會發送。 (有趣的是,如果它僅在幾秒鐘內超出藍牙範圍,數據纔會發送。) – vomako

回答

1

你猜的行爲是正確的,transferUserInfo:應該有排隊時,它不是連接的。

但是,傳輸時也可能發生斷開或錯誤。 在這種情況下,手錶操作系統似乎不會重新傳輸。

WCSessionDelegate,有一個回調-session:didFinishUserInfoTransfer:error:。此回調將針對案例成功或錯誤進行調用。

有了這個,你可以得到錯誤情況,您可以重新發送使用transferUserInfo:

+0

感謝您提供有用的答案。但是,一旦iPhone處於Apple Watch的BT範圍內,如何自動啓動重新發送? – vomako

相關問題