Apple Watch無疑是apple在智能手錶領域的一次革命,如何在Watch上開發出實用且具備美感的應用,是iOS開發者們開始思考的一個問題,因爲watch的隨身性和快捷性,在某些方面,它有比iphone更加大的優點,要抓住watch的這些特色,開發出淋漓盡致的應用,就須要改變一些在iphone開發的思路,正如一句話:只有忘掉經驗,纔會有意想不到的突破。架構
這一系列博客,首先是總結我在公司watch項目開發中的一些經驗,其次,還會加入一些個人理解和想法,若有錯誤,歡迎指正,若是對你有幫助,也歡迎撒花,😄。app
若是你沒有開發過iphone,直接來作watch,我建議你不要這麼作,不是不能夠,而是目前全部的第三方應用都必須基於iphone的擴展,原生的watch應用,蘋果目前尚未開放給開發者,所以實際上,咱們在watch上能夠作的事情十分有限,或許後續apple會開放更多接口,可是目前,咱們必須放棄iphone開發的思路,重新開始。框架
如上所說,徹底脫離iphone的原生watch應用,咱們目前還不能開發,全部第三方的watch應用必須基於一個iphone的host app。咱們能夠經過建立一個watch應用來觀察一下,首先,在Xcode6.3後雖然支持watch的開發,但watch模擬器並不十分好用,Xcode7進行了優化,經過模擬器,基本能夠完成咱們的開發。用Xcode新建一個項目,以後咱們在Xcode菜單中建立一個target:iphone
選擇apple Watch中的項目:佈局
在以下的設置中,咱們先將include Notification和Include Glance都勾選上,他們也是watch應用的一種表現方式,後面咱們再說:優化
以後能夠看到,咱們的項目中會多了這樣的幾個文件夾:spa
咱們只須要關注下結尾爲Extension和App的這兩個,從目錄結構咱們也能夠看到,App文件夾中有Storyboard這個文件,Extension文件夾中主要是一些代碼文件,這也正是咱們須要瞭解的watch app的機制,實際運行與咱們手錶上的是App文件夾中的界面,而邏輯的代碼其實是運行在咱們的手機中的,做爲iphone App的擴展而存在,經過手機與手錶的交互,來達到watch上的一些操做。code
由此,咱們能夠理解,目前的第三方watch應用,watch相似於一個UI容器,經過與iphone的交互來達到一些邏輯和效果。接口
在咱們建立watch的擴展時,咱們勾選了兩個Scene,從字面咱們也能夠理解的差很少,這裏加上個人理解,不是官方的解釋:ip
watch app:watch應用的主體,能夠經過watch上的圖標進入,能夠與iphone進行交互與數據共享。
Notification:watch通知,會和iphone通知同步,包括本地的和遠程的,這裏和iphone不一樣在於有長通知和短通知的分別,在實際開發中,咱們能夠經過在後臺添加參數來區分。在storyboard中的界面以下:
Glance:預覽界面,沒有複雜的交互能力,也不能滑動,只能在單屏展現一些數據,點擊後會進入主體watchApp中:
選中咱們的watch App工程,在Xcode7中運行以下:
若是你是之前版本的Xcode,可能須要在模擬器的Hardware中將其調出。
運行後,咱們能夠在watch模擬器上使用command+H來回到watch的主界面。
一、優秀的watch app無疑必須是簡單,樸素,快捷而時效的。
二、watch上不能自定義手勢,咱們可使用的只有滑動,點擊和長按
三、必須改變iphone佈局的思想,徹底接受新的watch佈局特色,進行創新
四、iphone的特色是界面的絢麗,watch則是簡約
專一技術,熱愛生活,交流技術,也作朋友。
——琿少 QQ羣:203317592