讓人鬧心的WatchConnectivity

最近開發(fā)一款手表項目调煎,需要手機手表通信士袄。選擇WatchConnectivity來實現(xiàn)功能。以前也沒研究過娄柳,于是先來個demo學(xué)習(xí)一下。

最先讓本同學(xué)上火(可能還沒到鬧心的地步)的秫筏,是使用模擬器運行代碼挎挖,發(fā)現(xiàn)手機手表就不能通訊。手機發(fā)的消息崔涂,手表看不到始衅,手表發(fā)的缭保,手機也收不著帝雇。這就比較煩了,于是baidu彻亲、biying吮廉、google一串下來發(fā)現(xiàn)必須用真機調(diào)試。真機運行下宙址,果然可以调卑。

Demo可以了,結(jié)合自己的業(yè)務(wù)搞起注益,自定義了數(shù)據(jù)對象溯捆,傳輸自定義對象列表balabala……然后悲劇了。wcSession.sendMessage中message類型是[String :Any]啤月,不能傳遞自定義類型數(shù)據(jù)劳跃。

所以只能將查詢的自定義對象列表轉(zhuǎn)換成對應(yīng)的數(shù)據(jù)格式進(jìn)行發(fā)送。至此强重,勉強的把數(shù)據(jù)組裝起來贸人,傳遞到手表端佃声,手表端也不負(fù)眾望的能接收數(shù)據(jù)并且顯示出來∈穑可剛要綻放的笑容瞬間又消失啦啦啦,那個啥……字典是無序的夭问,顯示的內(nèi)容每次都變著法的氣人,原本可能有點上火捧杉,現(xiàn)在就是鬧心啦秘血。大神們別噴,畢竟學(xué)習(xí)語法時記得仔涩,實踐的時候那么不巧的忘了粘舟。然后,換了種寫法霞揉,愉快的搞定了嘉抒。晚飯加了個雞腿(裂開腮幫子那叫一個痛快,哈哈)

調(diào)試沒啥問題愉快的封板隶症。然后ios有版本更新岗宣,watch也有更新提示,更吧胁住。沒想到鬧心的來了刊咳。“WCSession WCErrorCodeNotReachable”余指,去論壇一頓查閱跷坝,也沒見個解決的碉碉,郁悶ing淮韭,想著是不是自己寫的代碼太差,這里是不是替換成單例蜡吧,那里是不是要單獨封裝……各種改代碼庇配,然后過了好久郁悶了好久,又有版本更新啦耀鸦,更完了啸澡,問題沒了,用最初封板的代碼洛姑,一點都沒改過的版本皮服,運行良好。

以為這樣就結(jié)束了硫眯,那就too young了择同,哪里聽說過ios不更新啦!9伞紧武!后面又有各種更新,同學(xué)的代碼也是今天可以運行她我,下個更新版本可能就不行,所以我決定徹底解決一下這個問題。順便插一句恨狈,昨天打了第二針新冠疫苗呛讲,那叫一個困呀,就困成狗的情況下我還想是哪里的問題吗氏。我又搞了個demo雷逆,不加業(yè)務(wù),純測試往产。

1某宪、嘗試從手表給手機發(fā)message,不需要應(yīng)答數(shù)據(jù)的那種蔼囊,每次都成功衣迷。

代碼如下:

//watch

let message = ["message":"hello phone"]

? ? ? ? wcSession.sendMessage(message, replyHandler:nil) { errorin

? ? ? ? ? ? print(error.localizedDescription)

? ? ? ? }

//phone

funcsession(_session:WCSession, didReceiveMessage message: [String:Any]) {

?? ? ? print("message:\(message)")

? ? }

2蘑险、嘗試手表給手機發(fā)message,需要應(yīng)答數(shù)據(jù)的那種佃迄,每次都失敗呵俏。

代碼如下:

//watch

letmessage = ["query":true]

? ? ? ? wcSession.sendMessage(message) { replyin

? ? ? ? ? ? letdata = reply["data"]as!String

? ? ? ? ? ? print("watch reply data:\(data)")

? ? ? ? ? ? DispatchQueue.main.async{ [self]in

? ? ? ? ? ? ? ? self.showMessageLabel.setText(data)

? ? ? ? ? ? }

? ? ? ? } errorHandler: { errorin

? ? ? ? ? ? print(error.localizedDescription)

? ? ? ? }

//phone

funcsession(_session:WCSession, didReceiveMessage message: [String:Any], replyHandler:@escaping([String:Any]) ->Void) {

? ? ? ? varreply = [String:Any]()

? ? ? ? reply["data"] = ["hi watch, nice to see you."]

? ? ? ? print("reply:\(reply)")

? ? ? ? replyHandler(reply)

? ? }

既然不帶應(yīng)答的每次都成功,我就用這種方式發(fā)起請求吼肥,然后讓手機收到消息后send message給手表是不是也行,然后……意料之中的失敗了斗这。后來又嘗試了網(wǎng)友們說的updateApplicationContext啤斗,一樣的失敗钮莲。但是我發(fā)現(xiàn)手表給手機發(fā)消息,總是成功的崔拥,而手機給手表發(fā)總是失敗的,代碼中我也判斷了session的activationState總是activated的拆魏,session的isReachable一直是true的澡绩。

能想到的都嘗試了肥卡,于是我去論壇發(fā)表了問題。


但是也沒人給回復(fù)ing

最后看見了這篇文章揪胃,感覺那叫一個親切


下面有很多跟我遇到一樣問題的人在跟進(jìn)喊递,但是也都沒解決阳似。看到最后俏讹,我似乎也釋懷了畜吊,應(yīng)該跟實現(xiàn)代碼沒太大關(guān)系,可能是蘋果更新中殉疼,對WatchConnectivity修改了什么,這也只是我的猜測挂洛。

最后真心的要吐槽一下恋腕,app都要上架了,然后就這一更新用戶就用不了,鬧心……

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載哈肖,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者念秧。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市币狠,隨后出現(xiàn)的幾起案子砾层,更是在濱河造成了極大的恐慌肛炮,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碍扔,死亡現(xiàn)場離奇詭異秕重,居然都是意外死亡溶耘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門卓鹿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來留荔,“玉大人澜倦,你說我怎么就攤上這事杰妓。” “怎么了桩卵?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵雏节,是天一觀的道長高职。 經(jīng)常有香客問我怔锌,道長,這世上最難降的妖魔是什么埃元? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮岛杀,結(jié)果婚禮上阔拳,老公的妹妹穿的比我還像新娘。我一直安慰自己楞件,他們只是感情好衫生,可當(dāng)我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著土浸,像睡著了一般罪针。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上黄伊,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天泪酱,我揣著相機與錄音,去河邊找鬼还最。 笑死,一個胖子當(dāng)著我的面吹牛拓轻,可吹牛的內(nèi)容都是我干的斯撮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼扶叉,長吁一口氣:“原來是場噩夢啊……” “哼勿锅!你這毒婦竟也來了帕膜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤溢十,失蹤者是張志新(化名)和其女友劉穎垮刹,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體张弛,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡荒典,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了吞鸭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺董。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖刻剥,靈堂內(nèi)的尸體忽然破棺而出螃征,到底是詐尸還是另有隱情,我是刑警寧澤透敌,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站踢械,受9級特大地震影響酗电,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜内列,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一撵术、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧话瞧,春花似錦嫩与、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至埃篓,卻和暖如春处坪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背架专。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工同窘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人部脚。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓想邦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親委刘。 傳聞我的和親對象是個殘疾皇子丧没,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容