dyld: символ не найден: _OBJC_CLASS_$_CLKFullColorImageProvider работает приложение на симуляторе watchOS 4.2

Я получаю вышеуказанную ошибку при попытке запустить расширение WatchKit на симуляторе watchOS 4.2. Полная ошибка

dyld: Символ не найден: _OBJC_CLASS_$_CLKFullColorImageProvider Ссылка на: /Users/drew/ Библиотека / Разработчик / CoreSimulator / Устройства /029267FA-3A08-4FC7-B3E8-F0D7B0BC15E7/data/Containers-Bundle/Application 7DE2DD770D3D1D1D1D170D1D1D1D1D1D1D170D1D1D1D1D1D1D1D170D1D1D1D1D1D1D1D1D1D170 -8D5470324A94/steps-test WatchKit App.app/PlugIns/steps-test WatchKit Extension.appex/steps-test Расширение WatchKit Ожидается в: /Library/Developer/CoreSimulator/ Профили /Runtime /watchOS 4.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/ClockKit.framework/ClockKit

Однако CLKFullColorImageProvider является классом в watchOS 5.0, и код использует этот класс только внутри условной проверки для этой ОС.

        if #available(watchOSApplicationExtension 5.0, *) {
            let rectangular = CLKComplicationTemplateGraphicRectangularTextGauge()
            let complicationImage = UIImage(named: "Complication/Graphic Large Rectangular")!
            rectangular.headerImageProvider = CLKFullColorImageProvider(fullColorImage: complicationImage)
            let gauge = CLKSimpleGaugeProvider(style: .fill, gaugeColors: [UIColor.cyan,UIColor.blue,UIColor.green], gaugeColorLocations: [0.0,0.5,0.66], fillFraction: 0.75)
            rectangular.gaugeProvider = gauge
            rectangular.headerTextProvider = CLKSimpleTextProvider(text: "7572 Steps", shortText: "7572")
            rectangular.body1TextProvider = CLKSimpleTextProvider(text: "75% of your 10,000 target", shortText: "75%")
            handler(rectangular)
        }

Я также пытался использовать if #available(watchOS 5.0, *) { для хорошей меры.

Я видел другие ответы, предлагающие связать инфраструктуру в общих настройках приложения, но как я буду пытаться связать инфраструктуру, которая не включает в себя этот класс, который не подходит для этой проблемы? Тем не менее, я попытался, слабое связывание и прочно связал структуру набора часов, но ошибка все еще сохранялась.

Исследованные ответы dyld: Символ не найден: _MPMoviePlayerPlaybackStateDidChangeNotification - указал на слабое связывание фреймворка.

Получение dyld: Символ не найден: _OBJC_CLASS_$_NSJSONSerialization на IOS4 - похоже, не применяется, так как код вызывает только класс, если он работает на watchOS 5.0 или выше.

Любые указатели в правильном направлении будут с удовольствием приняты.

Спасибо Дрю

0 ответов

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