1.Watch app與iPhone app關(guān)系:Watch app只是iPhone app的擴(kuò)展(Watch app不是獨(dú)立的應(yīng)用,在iPhone上運(yùn)行的配對(duì)的app是必不可少的,而我們所構(gòu)建的Watch app是iPhone app的擴(kuò)展,所以Watch app的安裝和管理,是由iPhone app負(fù)責(zé),而且iPhone app和Wacth app可以相互溝通)
2.Watch app創(chuàng)建要求:WatchKit app運(yùn)行在手表上,WatchKit Extension運(yùn)行在iPhone上
3.用戶交互方式:?jiǎn)?dòng)應(yīng)用,Glance Interface(概覽界面),Notification Interface(通知界面)
創(chuàng)建工程步驟:1.先創(chuàng)建一個(gè)普通iOS工程 2.File -> New -> target -> watchOS
系統(tǒng)默認(rèn)選擇Inclode Notification Secen(通知界面)也可以不選擇,不過官方建議是選擇的,應(yīng)為通知界面需要一個(gè)json格式的文件(Watch Extension -> Supporting Files 就是這個(gè)Payload文件),而這個(gè)文件選擇的話,那么系統(tǒng)會(huì)自動(dòng)給我們生成。Include Glance Scene(概覽界面)就要看自己開發(fā)情況
WatchKit App的生命周期
當(dāng)用戶在手表上進(jìn)行操作的時(shí)候,就會(huì)啟動(dòng)WatchKit App,在啟動(dòng)的同時(shí)就要初始化(而這里的初始化主要是通過storyboard中來進(jìn)行)在啟動(dòng)的時(shí)候,就要加載數(shù)據(jù)WatchKit 根據(jù)用戶的選擇來初始化storyboard中的場(chǎng)景和相對(duì)應(yīng)的InterfaceController(在storyboard中,有相對(duì)應(yīng)的場(chǎng)景,如果用戶選擇的是Glance界面那么watchKit就會(huì)在storyboard中初始化Glance Scene概覽場(chǎng)景)加載場(chǎng)景后,就是初始化UI。而初始化UI,可以調(diào)用InterfaceController當(dāng)中的初始化方法或者awakeWithContext這兩個(gè)方法
InterfaceController的主要功能就是進(jìn)行邏輯應(yīng)用與更新UI數(shù)據(jù),當(dāng)用戶界面將要出現(xiàn)之前,會(huì)調(diào)用InterfaceController當(dāng)中的willActivate這個(gè)方法(注意:初始化一個(gè)InterfaceController并不能調(diào)用willActivate這個(gè)方法,這個(gè)方法只是在用戶界面將要顯示的時(shí)候,才會(huì)調(diào)用,或者是要進(jìn)行一些動(dòng)畫等操作的時(shí)候才會(huì)調(diào)用這個(gè)方法)
InterfaceController相當(dāng)于iOS中的viewcontroller,但是與viewcontroller不同的是,InterfaceController并不能管理視圖,而管理視圖的操作是通過watchKit來進(jìn)行。
Interface Controller(界面控制器)的生命周期
當(dāng)用戶界面在手表上顯示出來之后,用戶再進(jìn)行操作的時(shí)候,比如點(diǎn)擊按鈕,那么在InterfaceController當(dāng)中調(diào)用按鈕的響應(yīng)方法來響應(yīng)用戶的操作,當(dāng)用戶停止操作的時(shí)候,就會(huì)調(diào)用didDeactivate這個(gè)方法,(1. WatchKit App是運(yùn)行在watch上,通過storyboard來進(jìn)行UI的布局,而watchKitExtension運(yùn)行在手機(jī)端(主要功能更新數(shù)據(jù),實(shí)現(xiàn)對(duì)應(yīng)的響應(yīng)方法))