2014-11-20 4 views
8

Я не могу запустить приложение watchkit из нового проекта. Если я запускаю образец проекта Apple, он работает нормально. Если я добавлю часовую игру в свой существующий проект, добавив цель для часового дела. Затем запустите его, я получаю черный экран с течением времени, хотя в моей раскадровке у меня есть контроллер интерфейса, который установлен на основной, который имеет синий фон. Эта строка кода вызывается.Как запустить приложение WatchKit

- (void)willActivate { 
    // This method is called when watch view controller is about to be visible to user 
      [self.listTable setNumberOfRows:5 withRowType:@"List"]; 
    NSLog(@"%@ will activate", self); 
} 

Мое основное приложение (приложение для iPhone) для iPhone не запускается на симуляторе.

Это в основном то, что я вижу.

Apple Watch Simulator black screen with time label in upper right corner

+1

Вам нужно предоставить немного больше контекста, чем это. –

+0

Чтобы включить watchkit с выходящим проектом, я добавил цель для watckit. Код работает, но симулятор не отражает то, что в моей раскадровке. Мне интересно, является ли это бета-версией или если я каким-то образом перепутался. Не могу подумать, что есть еще что-то. Если код работает, то мой контроллер в моем раскадровке должен отображаться. – user1898829

+0

Вы используете OS X 10.10.2 случайно? –

ответ

11

При запуске, вы изменили схему к цели WatchKit App? Или вы только что создали & запустить приложение iOS, как обычно? На данный момент вы не можете одновременно запускать целевую программу iOS и Watch App.

Вы должны переключить схемы/цели, как показано здесь, а затем выбрать тот же симулятор & отобразить пользовательский интерфейс часов, как вы уже сделали, (на экране симулятора -> «Оборудование» -> Внешний дисплей -> Apple Watch):

XCode screenshot of scheme dropdown

Вы также должны добавлять/редактировать схемы для просмотра Glance или уведомлений части раскадровки. Для получения дополнительной информации см. Файл «Readme» в проекте Lister.

+0

Вы можете разместить ссылку на образец проекта, который вы упомянули? – GoodSp33d

+0

@ GoodSp33d - это ссылка с сайта WatchKit: https://developer.apple.com/watchkit/ - прокрутите вниз до «WatchKit Resources» (внизу справа) и найдите проект под названием «Lister». Вы можете загрузить его в виде zip-файла с руководством по чтению и краткому началу работы, в котором объясняются некоторые проблемы, такие как использование общей группы для данных, настройка целей развертывания и т. Д. – mc01

4

У меня была аналогичная проблема. Вот несколько вещей, которые вы можете попробовать (решили это для меня)

  • Убедитесь, что приложение app, watchkitapp и watchkitextension имеют одинаковый идентификатор пакета, например. com.company.app для приложения и com.company.app.watchapp для приложения watchkit. У меня есть несколько конфигураций компоновки с различными идентификаторами пакетов, поэтому xcode взял неверный во время создания целевой цели. Вы получите ошибку компилятора, если разные приложения и расширения, но идентификатор пакета watchapp не приведет к ошибке.
  • первый запуск приложения, прежде чем вы откроете часы в меню внешних устройств, ударит по всем точкам останова и журналам, но после открытия имитатора часов вы ничего не увидите.
  • пару раз приложение застряло в запуске для меня - в отладочном навигаторе состояние «ожидало прикрепить». должен был каждый раз перезагружать симулятор.

Надеюсь, что это поможет.

3

Возможно, это не ваша проблема, но она была моей.

Если вы включили таблицу в приложение для наблюдения за часами, вам необходимо реализовать методы в InterfaceController, чтобы что-то появилось. Вы не можете просто вставить таблицу, а затем поместить метку в первую строку, а затем показать ее (например, со статическим UITableViewController).

Следуйте это руководство для добавления таблиц: https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/WatchKitProgrammingGuide/Tables.html#//apple_ref/doc/uid/TP40014969-CH14-SW1

0

О людях. Это меня очень насторожило. Я работал над чем-то в Beta 1 и имел строку таблицы, которая была подклассом WKInterfaceController.В бета-версии 5 все, что я видел, было таким же пустым столом и при вызове

[self.interfaceTable rowControllerAtIndex:x] 

он возвращал ноль.

Решение: Подключил мою строку к подклассу NSObject, и все получилось отлично!

0
  1. Изменить схему, перейдя по ссылке в продукт -> схема -> (выберите целевую схему приложения watchkit).
  2. Тогда переход к продукту -> Схема -> Изменить Схема и выберите Run
  3. Изменить исполняемый файл в watchkit App
  4. Построить и запустить код.
0

Просто измените схему на AppName WatchKit App и выполните сборку.