2016-02-14 18 views
3

我是WatchKit的新手,我想爲現有的iOS應用程序開發Watch擴展。我之前在同一個項目中開發過共享擴展程序,所以我對擴展目標如何嵌入到應用程序中有所瞭解。爲什麼Xcode爲手錶應用程序創建兩個目標?

但是,當我使用默認設置添加Watch應用程序目標時,它創建了兩個目標,WatchWatch Extension。我無法理解兩者的目的。 Watch默認情況下似乎包含非模型內容(例如資產,故事板),並且Watch Extension似乎具有我的實際代碼(例如界面控制器)。爲什麼他們不是默認的一起?分割它們的目的是什麼,因爲它們將同時在Watch上運行。

回答

2

當Apple Watch第一次出現時,手機上運行的「擴展」以及包含用戶界面的「應用程序」在手錶上運行。隨着Watch OS 2的發佈,這兩款產品都可以在手錶上自然運行,但目標仍在繼續分離。希望很快我們能夠有一個目標

2

儘管我不能說他們總是需要在構建依賴關係方面成爲不同的目標,但他們需要在封裝,因爲應用程序和擴展不是總是一起運行。

類似於iOS,.watchkitapp.watchkitextension軟件包是.watchkitapp軟件包的一個獨特組件。儘管手錶應用程序確實需要應用程序擴展程序,但應用程序擴展程序可能在後臺運行而未啓動其應用程序。手錶甚至可能會在前臺顯示一個完全不同的應用程序。

舉個例子,如果一個應用程序擴展包含一個在錶盤上顯示的複雜信息,那麼該擴展會收到ClockKit的一個請求以喚醒。它的複雜控制器得到實例化(基於擴展的屬性列表中的信息)來更新複雜服務器。這一切都將獨立於手錶應用程序而發生。手錶應用程序本身不會啓動,除非用戶碰巧碰到特定的表面併發症。

相關問題