如果 Apple Watch 上的應(yīng)用需要執(zhí)行例如網(wǎng)絡(luò)訪問這樣耗時(shí)的后臺(tái)任務(wù),建議你應(yīng)該使用 iPhone 上的應(yīng)用來(lái)做這樣的工作。使用 WKInterfaceController
中的 openParentApplication:reply:
方法來(lái)從后臺(tái)喚醒 iPhone 應(yīng)用,然后給 WatchKit 返回其需要的數(shù)據(jù)。處理 WatchKit 請(qǐng)求的 UIApplicationDelegate
方法必須立刻返回。如果需要異步調(diào)用,比如執(zhí)行網(wǎng)絡(luò)任務(wù),使用后臺(tái)任務(wù)來(lái)確保應(yīng)用在能夠響應(yīng)的時(shí)候不會(huì)卡頓或延遲。
在 IOS 應(yīng)用和 WatchKit 應(yīng)用中與 App Groups 和 NSUserDefaults
可以簡(jiǎn)單的共享少量數(shù)據(jù)。為了訪問到像 Core Data 這樣的其他資源,在 IOS 應(yīng)用和 WatchKit 應(yīng)用之間使用一個(gè)共享的容器來(lái)簡(jiǎn)單實(shí)現(xiàn)數(shù)據(jù)的訪問和提供日期信息。
Handoff 可以使得用戶很容易地在 Apple Watch 和 iPhone 上的應(yīng)用間切換。在 WKInterfaceController
中的 Handoff API 應(yīng)該用于 Glance 和 自定義的通知界面來(lái)創(chuàng)建指向 iPhone 中應(yīng)用的深度鏈接。使用此 API 來(lái)打包界面當(dāng)前正在做什么的相關(guān)信息,并且可以將這些信息傳給應(yīng)用的主界面控制器以至于它可以在 launch 上呈現(xiàn)一個(gè)不同的界面。
Learn more about Handoff >
創(chuàng)建一個(gè)框架在 IOS 和 WatchKit 應(yīng)用之間來(lái)共享代碼??蚣芸梢允沟媚愕拇a更易理解,防止冗余,并且確保在項(xiàng)目的大量代碼中更容易修復(fù)bug。