2015-04-24 4 views
1

У меня есть приложение для iPhone и добавлено WatchExtension. Теперь мне удалось отправить строку в «Часы», используя MMWormhole. Чтобы использовать строку, я должен позвонить update() внутри WKInterfaceController из метода внутри моего UIViewController, поэтому приложение iPhone.
Возможно ли это?Вызов метода WKInterfaceController от UIViewController

Я попытался сделать что-то вроде InterfaceController.update(), но Xcode пожаловался, что он не знает переменную InterfaceController.

Заранее спасибо :)

+0

поэтому для потока ... это правильно? Часы отправляют сообщение на телефон, телефон отвечает строкой, и вы хотите вызвать метод на 'WKInterfaceController'? Итак, весь процесс, инициированный некоторыми действиями на часах? – prawn

+0

Фактически нет, я посылаю сообщение с телефона, когда экран прослушивается. Часы ничего не посылают. Извините, если это неясно. – LinusGeffarth

+0

Вы можете использовать уведомления Darwin. Смотрите здесь: [Notify WatchKit приложение из обновления без часов приложения, запрашивающего его] [1] [1]: http://stackoverflow.com/questions/28809226/notify-watchkit-app-of- ан-обновление-без на-часовое приложение запрашивающий-это – vomako

ответ

2

iPhone App и расширение Часы являются двумя отдельными процесс, хотя они хранятся в одной связке, так что вы не можете вызвать метод другого процесса во время выполнения.

В WatchKit:

  • Если вы хотите поделиться код, используйте Framework.
  • Если вы хотите обмениваться данными, используйте App Group.
  • Если вы хотите использовать уведомление, используйте Inter-Process Communication (в iOS, это уведомление Darwin и MMWormhole).

Я думаю, что вы хотите, чтобы Дозор обновить свой интерфейс, когда iPhone приложение сделать что-то, что вы можете сделать так:

  1. отправить сообщение Наблюдайте Extension.
  2. Watch Extension получает это сообщение.
  3. В обработчике сообщений обновлен интерфейс.

В моем варианте iPhone App и Watch Extension можно рассматривать как своего рода архитектуру C/S, iPhone App - это сервер и расширение для просмотра - клиент, возможно, эта метафора легче понять.