你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> WatchKit開發小竅門

WatchKit開發小竅門

編輯:IOS開發基礎

450.png

本文由CocoaChina譯者xiaoying翻譯自蘋果開發者中心,原文:WatchKit Development Tips
使用這些小竅門和最佳實踐來優化你的WatchKit應用。

通用指導

使用圖片序列來創建動畫

Apple Watch中的動畫是通過系統循環播放序列化命名的圖片資源來實現的。另外,你可以通過定義重復次數來讓一些圖片在特定持續時間內動畫,或者通過把持續時間設置為負數來逆向顯示動畫序列。

在Apple Watch上存儲圖片序列

當動畫啟動時,動畫序列應該存儲在Apple Watch上。事先在WatchKit應用中存儲這些圖片序列,或者通過WKInterfaceDevice在圖片緩存中添加一個可以做動畫的UIImage對象來創建並且存儲這些圖片序列以備使用。想要減少加載時間,可在保證傳遞視覺效果的同時,盡可能使用最少的圖片。

使用Settings Bundle

像在iOS上的應用一樣,給提供用戶一個Settings Bundle,讓用戶可以通過它來控制你的WatchKit應用。Settings Bundle將會顯示在iPhone上的Apple Watch應用中。

直接啟用聽寫功能

如果你通過使用文本輸入控制器來啟用聽寫功能,可直接讓用戶使用聽寫功能口述生成文本信息,無需展示沒有任何建議的中介頁面。

狀態恢復

在界面controller的didDeactivate:方法中保存你的應用的狀態信息和用戶界面。然後在root controller的willActivate:方法中恢復你的應用和用戶界面。

性能

最小化通信

一個性能良好的WatchKit應用,要盡可能減少Apple Watch和iPhone之間的通信。

只更新變化的信息

你的WatchKit擴展應該只更新改變了的值,而不是重新加載控制器上的所有屬性。這在操作表格行的時候尤其重要。這時應該只更新或者移除改變的行,而不是重新加載整個table。

懶加載內容

為了優化WatchKit應用的啟動時間,並使你的應用程序感覺上響應更積極,請在展示控制器之後再去加載不可見區域的內容。通過在WKInterfaceController 的willActivate:方法中調用dispatch_async,你可以在顯示控制器之後再去設置特定的內容。

快速初始化頁碼控制器

為了減少頁碼控制器的加載時間,可在首次調用每個頁面的控制器的willActivate:方法之前完成大部分的設置工作。當頁碼控制器被創建時,每個頁面的init: 和 awakeWithContext: 方法都會在第一個頁面調用willActivate:方法之前被調用。系統會等待所有頁面的init: 和 awakeWithContext:方法中的加載工作完成之後,再去顯示第一個頁面。

簡化控制器的場景

為了顯著減少加載時間,請盡可能地減少頁面場景中的隱藏項目。例如,如果一個控制器場景中有5個不同版本的控制器的布局,這將導致所有的對象在展示控制器之前被創建。

減少使用表格行從而減少加載時間

確保在初始化顯示時,創建最佳數量的行,而在willActivate:方法完成之後再去加載其他行。所有表格行都會在顯示控制器之前被創建,所以定義越多的行,顯示控制器所花的時間就越長。

和iPhone通信

iPhone端應用應該做大部分的工作

如果你的Apple Watch應用需要執行長時間運行在後台的任務,比如網絡調用,你應該讓iPhone端的應用來做這個工作,使用WKInterfaceController中的 openParentApplication:reply:方法在後台喚醒iPhone端應用,然後返回WatchKit擴展所需的數據。處理WatchKit請求的UIApplicationDelegate方法必須馬上返回。如果需要異步調用,例如執行網絡任務,使用後台任務來確保你的應用不會在發送反饋之前崩潰。

使用App Groups共享數據

使用App Groups 和 NSUserDefaults在iOS應用和WatchKit擴展之間共享少量數據非常容易。對於其他資源,比如Core Data,可使用共享容器來簡化它們之間的數據訪問,並且保持最新的數據。

使用Handoff

Handoff允許用戶簡單地在Apple Watch和iPhone應用之間切換任務。WKInterfaceController中的Handoff API可被用在Glance和自定義通知界面中,從而在iPhone應用和Apple Watch 應用之間建立深度連接。使用這個API來打包界面當前任務相關的信息,並且傳送給應用程序的主界面控制器,以便在啟動時展示一個不同的界面。相關閱讀:Learn more about Handoff

使用框架,共享代碼

創建一個可在iOS應用和WatchKit擴展之間共享代碼的框架。框架可以保持代碼的可訪問性、消除冗余、並確保同時修復工程中多個代碼實例。

更多開發資源

更多關於如何使用WatchKit框架編寫應用程序的內容,請參看:Apple Watch Programming Guide

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved