WatchConnectivity相互通信

在iOS 9.0+和watchOS 2.0+的時(shí)候,WatchConnectivity是可以進(jìn)行手機(jī)和手表之間的雙向通信的。而在之前,只能有手表主動(dòng)發(fā)起連接丹禀,而手機(jī)端是無(wú)法向手表端發(fā)送回執(zhí)的。

如何雙向通信

看一個(gè)例子鞋怀,在這個(gè)例子中双泪,手表端點(diǎn)擊發(fā)送按鈕向手機(jī)端發(fā)送一條消息,消息通過(guò)本地通知的方式展現(xiàn)出來(lái)密似。然后焙矛,手機(jī)向手表發(fā)送一個(gè)回執(zhí)。

Watch端
iPhone端

首先需要在手機(jī)端和手表端都初始化一個(gè)WCSession對(duì)象

if([WCSession isSupported])

{

? ? ? WCSession *session=[WCSession defaultSession];

? ? ? session.delegate=self;

? ? ? [session activateSession];

}

前提是先導(dǎo)入WatchConnectivity/WatchConnectivity.h文件并且引用WCSessionDelegate

然后分別在手表端和手機(jī)端分別實(shí)現(xiàn)代理方法sendMessage:ReplyHandler:方法和didReceiveMessage:ReplyHandler:残腌,其中ReplyHandler方法就是接收完成后發(fā)送的回執(zhí)薄扁。

手表端:

if([WCSession defaultSession].isReachable)? ?

?{? ? ? ??

? ? ? ? ?NSDictionary *msg=@{@"msg":@"你好iPhone,我是Apple Watch"};? ? ? ?

? ? ? ? ?[[WCSession defaultSession]sendMessage:msg replyHandler:^(NSDictionary* _Nonnull replyMessage) {

? ? ? ? ?NSString *reply=replyMessage[@"msg"];

? ? ? ? ?[self.ResultLabel setText:reply];

? ? ? ? ?} errorHandler:^(NSError * _Nonnull error) {

? ? ? ? ?}];?

}

手機(jī)端:

-(void)session:(WCSession *)session didReceiveMessage:(NSDictionary*)message replyHandler:(nonnull void (^)(NSDictionary* _Nonnull))replyHandler

{

? ?NSString *msg=[NSString stringWithFormat:@"%@",message[@"msg"]];

? ?UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];

? ?//需創(chuàng)建一個(gè)包含待通知內(nèi)容的 UNMutableNotificationContent 對(duì)象废累,注意不是 ? ?UNNotificationContent ,此對(duì)象為不可變對(duì)象邓梅。

? ?UNMutableNotificationContent* content = [[UNMutableNotificationContent alloc] init];

? ?content.title = [NSString localizedUserNotificationStringForKey:@"Hello!" arguments:nil]; ?

? ?content.body = [NSString localizedUserNotificationStringForKey:msg

? ?arguments:nil];

? ? content.sound = [UNNotificationSound defaultSound];

? ? // 在 alertTime 后推送本地推送

? ? UNTimeIntervalNotificationTrigger* trigger = [UNTimeIntervalNotificationTrigger

triggerWithTimeInterval:1 repeats:NO];

? ? UNNotificationRequest* request = [UNNotificationRequest ? ? requestWithIdentifier:@"FiveSecond"

content:content trigger:trigger];

//添加推送成功后的處理!

[center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {

? ? NSDictionary *replyMSG=@{@"msg":[NSString stringWithFormat:@"你好watch,我是 ? ? ? iPhone邑滨,你的消息已收到 %@",[NSDate date].description]};

? ? replyHandler(replyMSG);

? ? }];

}

這樣最簡(jiǎn)單的相互通信就完成了日缨。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掖看,隨后出現(xiàn)的幾起案子匣距,更是在濱河造成了極大的恐慌面哥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毅待,死亡現(xiàn)場(chǎng)離奇詭異尚卫,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)尸红,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)吱涉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人外里,你說(shuō)我怎么就攤上這事怎爵。” “怎么了盅蝗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵鳖链,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我墩莫,道長(zhǎng)芙委,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任狂秦,我火速辦了婚禮灌侣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘故痊。我一直安慰自己顶瞳,他們只是感情好玖姑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布愕秫。 她就那樣靜靜地躺著,像睡著了一般焰络。 火紅的嫁衣襯著肌膚如雪戴甩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,165評(píng)論 1 299
  • 那天闪彼,我揣著相機(jī)與錄音甜孤,去河邊找鬼。 笑死畏腕,一個(gè)胖子當(dāng)著我的面吹牛缴川,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播描馅,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼把夸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了铭污?” 一聲冷哼從身側(cè)響起恋日,我...
    開(kāi)封第一講書(shū)人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤膀篮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后岂膳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體誓竿,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年谈截,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了筷屡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡傻盟,死狀恐怖速蕊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娘赴,我是刑警寧澤规哲,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站诽表,受9級(jí)特大地震影響唉锌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜竿奏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一袄简、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泛啸,春花似錦绿语、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至岗仑,卻和暖如春匹耕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背荠雕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工稳其, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炸卑。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓既鞠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親盖文。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嘱蛋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 介紹一下iOS10的通知新功能,用戶(hù)體驗(yàn)的提升和開(kāi)發(fā)者能夠發(fā)揮的地方非常多,使得iOS更具有競(jìng)爭(zhēng)力浑槽。 1.iOS ...
    F麥子閱讀 3,815評(píng)論 3 4
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666閱讀 1,380評(píng)論 0 6
  • 許多集成的步驟個(gè)推官網(wǎng)都有了蒋失,這里只寫(xiě)關(guān)于推送的遠(yuǎn)程推送和本地通知的步驟和代碼。APP在后臺(tái)時(shí):走蘋(píng)果的APNS通...
    AllureJM閱讀 2,717評(píng)論 1 9
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理桐玻,服務(wù)發(fā)現(xiàn)篙挽,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • iOS開(kāi)發(fā)系列--網(wǎng)絡(luò)開(kāi)發(fā) 概覽 大部分應(yīng)用程序都或多或少會(huì)牽扯到網(wǎng)絡(luò)開(kāi)發(fā)镊靴,例如說(shuō)新浪微博铣卡、微信等,這些應(yīng)用本身可...
    lichengjin閱讀 3,658評(píng)論 2 7