Как отредактировать название сложности в приложении Watch на iPhone?

Я пытаюсь создать усложнение на основе WidgetKit для watchOS 9 на XCode 14. Все работает нормально, но имя усложнения в приложении Watch на iPhone показываетCOMPLICATION_TYPE_EDIT_LABEL_(NULL)_COMPANION

Как изменить его, чтобы отображалось имя моего приложения?

Шаги для воспроизведения: Создайте новый проект в Xcode 14 -> Добавить новую цель приложения Watch -> Добавить новую цель расширения виджета для watchOS.

1 ответ

Есть решение. Он исходит из фреймворка ClockKit. Это не упоминается в новых API, но работает. В целевой системе watchOS создайте файл ComplicationController.swift со следующим содержимым:

      import ClockKit
class ComplicationController: NSObject, CLKComplicationDataSource {
    func complicationDescriptors() async -> [CLKComplicationDescriptor] { [] }
    func currentTimelineEntry(for complication: CLKComplication) async -> CLKComplicationTimelineEntry? { nil }
}

Затем добавьте это поле в Info.plist цели watchOS:

Усложнение ClockKit — основной класс --> $(PRODUCT_MODULE_NAME).ComplicationController

Результат:

Я надеюсь, что позже будет лучшее решение, потому что сейчас оно глючит и работает не так, как должно быть.

Другие вопросы по тегам