Как я могу добавить сложности в мой СУЩЕСТВУЮЩИЙ проект Xcode?

Как я могу добавить сложности в мой СУЩЕСТВУЮЩИЙ проект Xcode 7?

Глядя на видео WWDC 2015, сеанс 209, показано, как добавить усложнения: создать новый проект и нажать Включить усложнение. Это отлично работает в этом случае, но как я могу добавить их в существующий проект?

введите здесь описание изображения

Я не могу найти контроллер усложнения в селекторе объектов XCode (см. ниже):

введите здесь описание изображения

Почему это происходит??


person mm24    schedule 21.08.2015    source источник
comment
Поверьте мне, используя Xcode уже 4 года, Xcode уже стандартно оснащен бесконечным списком сложностей.   -  person Mike Gledhill    schedule 21.08.2015
comment
Ах, ах... спасибо, Майк :-), я тоже понял это за четыре года опыта работы с XCode... и каждый год они меняются   -  person mm24    schedule 21.08.2015


Ответы (2)


Добавьте новую цель расширения temp watch и установите флажок усложнения. Скопируйте свойства расширения усложнения из этого нового info.plist (CLKComplicationSupportedFamilies, WKExtensionDelegateClassName и CLKComplicationPrincipalClass) в старый info.plist расширения наблюдения. Как только вы это сделаете, вы увидите список усложнений «Семейства».

Я также переместил классы ExtensionDelegate и ComplicationController в старое расширение наблюдения и изменил целевое членство на старое расширение наблюдения из нового расширения наблюдения.

Щелкните правой кнопкой мыши внутри старого файла актива расширения часов и добавьте набор изображений усложнения.

Также «tom_witkin, 23 июля 2015 г., 8:50 (в ответ на breville) Фреймворк ClockKit доступен только в watchOS 2, а не в iOS. Таким образом, расширения не поддерживаются для существующих приложений WatchKit, где расширение работает на iPhone».

Так что измените рекомендуемые настройки сборки при переходе с wos1 на wos2 (если во время компиляции появится предупреждение) и сделайте WATCHOS_DEPLOYMENT_TARGET = 2.0 как в старых настройках сборки расширения, так и в настройках сборки приложения для часов.

Добавьте TARGETED_DEVICE_FAMILY = 4 для старого расширения часов, если оно отсутствует.

person Gamma-Point    schedule 02.10.2015
comment
Спасибо, что добавление CLKComplicationSupportedFamilies решило мою проблему. - person Mona; 28.11.2020

В Interface Builder нет такой вещи, как контроллер сложности, это абстрактная сущность. Для регистрации записей на временной шкале и только после этого эти записи будут доступны через поддерживаемые расширения на циферблатах.

Вы можете настроить поддерживаемые типы усложнений на вкладке целевой конфигурации Watch Extension — просто установите необходимые флажки. И есть хитрость, вы должны указать имя вашего контроллера сложности, используя следующую схему: $(PRODUCT_MODULE_NAME).YourComplicationControllerName

person Dmytro Hutsuliak    schedule 07.09.2015
comment
Здравствуйте, к сожалению, в проекте, который был создан в Xcode 6 и импортирован в Xcode 7, таких флажков нет. Отсюда мой вопрос: как добавить их в существующий проект. Я должен был указать импортированный проект. - person mm24; 07.09.2015
comment
Хм... странно, потому что мой проект существует еще с Xcode 6, и у меня есть эти флажки. Вы уверены, что проверили настройки цели Watch Extension? Вот как они смотрят на мой проект: imgur.com/ZvUzoZC - person Dmytro Hutsuliak; 07.09.2015
comment
Я заметил, что вы должны сделать это, когда ваш код работает быстро, если это объективно, имя класса само по себе работает. - person Mona; 28.11.2020