Apple Watch 學習之路 初見Watch 應用

wongstar發表於2017-12-14

apple 推出watchOS以來,已經到WatchOS3代了,那watch app能給我們帶來什麼? 1.提醒通知功能家居旅行必備良藥啊 2.運動功能 3.心率功能 4.來電接聽等功能 5.簡訊,微信快速回復,好吧這個功能我喜歡 6.豐富的錶盤應用,想換就換。

開啟iphone端Watch app 可以看到如下介面

Screen Shot 2017-01-24 at 下午2.50.47.png
Screen Shot 2017-01-24 at 下午2.51.16.png
Screen Shot 2017-01-24 at 下午2.51.18.png

如上圖所看到的有4個主要的tab,第一個tab是我們去繫結手錶的UI,第二個tab是個性化錶盤相簿,第三個tab就是app store 第四個tab就可以search tab

---------------------------------華麗的分割線-------------------------------------

那作為一位開發者怎麼去一步一步的去做一個apple watch應用呢?注(WatchKit 開發需要iOS 8.2 SDK及以後版本。)

第一步新建一個apple watch工程。如下圖,

Paste_Image.png

第二步,建立一個名為WatchDemo的工程:

Paste_Image.png

我們選擇了流行的swfit語言來構建這個demo,後續都會以swfit語言講解 建立完之後我們來檢視下我們的工程目錄結構:

Paste_Image.png

從上圖可以看到watch app 分3個模組。 1.手機端模組這塊見圖中WatchDemo,這本模組主要是寫手機端app相關ui和相關邏輯的 2.watchDemo WatchKit App模組,這個就是主要負責watch 端UI顯示的模組,其中Interface.storyboard就是負責watch端UI 3.watchDemo WatchKit Extension模組,這個模組主要是負責control watch端UI相關的WKInterfaceController-->可以理解和uiviewcontroller(但略有不同,稍後會解釋)

1.2模組我們先跳過,先來研究下WKInterfaceController

import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {

    override func awake(withContext context: Any?) {
        super.awake(withContext: context)
        
        // Configure interface objects here.
    }
    override func willActivate() {
        // This method is called when watch view controller is about to be visible to user
        super.willActivate()
    }
    override func didDeactivate() {
        // This method is called when watch view controller is no longer visible
        super.didDeactivate()
    }
}
複製程式碼

那怎麼run這個app 點選左上角的target 按鈕如下圖:

螢幕快照 2017-01-24 下午4.47.14.png

執行效果如下:

螢幕快照 2017-01-24 下午5.15.46.png

WKInterfaceController 是什麼東東? WKInterfaceController是繼承NSObject而不是UIResponder,它不管理watch 應用介面,管理watch應用介面的是WatchKit

WKInterfaceController也有生命週期具體的請看下一章節(Apple Watch WKInterfaceController).

#####想隨時瞭解我的動態,歡迎大家關注我的個人公眾號蟻農之家

蟻農之家.jpg

相關文章