簡體   English   中英

如何在Apple Watch Extension / App和iOS App之間建立通信渠道

[英]How to establish a communication channel between Apple Watch Extension/App and iOS App

我正在探索WatchKit SDK。

當我有一個WatchKit應用程序時,是否可以從WatchKit應用程序上的iPhone應用程序設置值(例如文本,設置)? 我可以從iPhone應用程序調用WatchKit應用程序擴展中的函數嗎?

如果有人設法做到這一點,他/她可以發布一個例子嗎? 謝謝!

您可以使用App Group和sharedDefaults在手機上的WatchApp /分機和應用程序之間共享數據。 參見示例: WatchKit SDK無法從NSUserDefaults檢索數據

研究iOS8 Extension / App Groups / sharedDefaults和watchkit擴展將更有意義。

此示例從Shinobi圖表中獲取UIImage,將其保存為默認值為image。 然后,擴展程序會通過默認設置選擇圖像,並將其顯示在手表上

https://github.com/ChrisGrant/ChartWatch

這個使用多重連接與手機通話。

https://github.com/jsclayton/swatches

但這使用藍牙,我認為Watch OS也使用藍牙與手機通信,因此不確定它們是否都被允許。

我們還沒有可以測試的設備,所以/ swatches應用程序只是在同一台Mac上觀看模擬器與iphone模擬器通話。

如果您曾經進行過低級別的AV編程,您就會知道應用程序可能在模擬器上運行但在設備上失敗,因為模擬器可能會欺騙使用Mac OSX媒體層。 藍牙也許是一樣的。

其他樣品

https://github.com/search?q=WKInterfaceController&type=Code

有幾種解決方案: CoreDataNSKeyedUnarchiverNSUserDefaults 通過共享公共數據資源(數據庫,文件或用戶默認設置)的通用背景,這將在兩個目標項目屬性上啟用應用程序組功能

在此輸入圖像描述

在下面的文章中解釋了如何使用默認設置執行此操作,您還可以下載演示項目。

通過watchOS2,Apple現在支持Watch Connectivity Framework將手表擴展中的信息傳遞給app,反之亦然。

摘自Apple的文檔

與您的Companion iOS應用程序通信

Watch Connectivity框架可讓您在WatchKit擴展程序和配套iOS應用程序之間創建雙向通信渠道。 使用此通道協調兩個進程之間的活動。 例如,您可以使用此框架將更新的信息從iOS應用推送到WatchKit擴展。 該框架提供了在后台或兩個應用程序都處於活動狀態時傳輸數據的選項,並替換了WKInterfaceController類的現有openParentApplication:reply:方法。

有關Watch Connectivity框架類的更多信息,請參閱Watch Connectivity Framework Reference

摘自Apple的開發者庫

你可以看到這個庫https://github.com/mutualmobile/MMWormhole

它在iOS應用和擴展之間傳遞消息。

貌似與brain.clear的鏈接並沒有指向ShinobiChart示例的正確目的地

https://github.com/ShinobiControls/ChartWatch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM