Отладка усложнения Watchkit на реальном устройстве - PullRequest
0 голосов
/ 24 февраля 2019

Я реализовал услугу набора часов в Swift.Я хочу подключить отладчик к контроллеру Complication.Я понимаю, что контроллер сложности вызывается только один раз, а затем кэшируется.Однако я не могу подключить отладчик к расширению набора часов.Приложение загружается в мои настоящие часы, а затем я вхожу в XCode> Debug> Attach to Process (расширение).Похоже, что отладчик присоединяется к расширению, но точка останова на getLocalizableSampleTemplate, если сложность.family не достигнута.Я попытался удалить приложение из приложения-компаньона для часов на iPhone, а затем разрешить XCode автоматически установить его на часы, а затем принудительно нажать на циферблат, но все равно не получил удар по точке останова.Если у кого-то есть процесс, чтобы заставить это работать надежно, я был бы признателен.Xcode 10.1.Смотреть ОС 5.1.3.iOS 12.1.2.

import WatchKit
import ClockKit
class ComplicationController: NSObject, CLKComplicationDataSource {
    var watchSize: String = ""
    var imageName : String = ""
    // MARK: Register
    func getLocalizableSampleTemplate(for complication:
        CLKComplication, withHandler handler:
        @escaping (CLKComplicationTemplate?) -> Swift.Void) {

        // 1
        if complication.family == .modularSmall {
            // 2
            let modularSmall = CLKComplicationTemplateModularSmallSimpleImage()
            let imageName = "bell-icon"
            let image = UIImage(named: imageName)
            modularSmall.imageProvider = CLKImageProvider(onePieceImage:image!)
            modularSmall.imageProvider.tintColor = UIColor.blue
            handler(modularSmall)
        }else if complication.family == .utilitarianSmall{
            let utilitarianSmall = CLKComplicationTemplateUtilitarianSmallSquare()
            let imageName = "bell-icon"
            let image = UIImage(named: imageName)
            utilitarianSmall.imageProvider = CLKImageProvider(onePieceImage:image!)
            utilitarianSmall.imageProvider.tintColor = UIColor.blue
            handler(utilitarianSmall)
        } else if complication.family == .circularSmall{
            let circularSmall = CLKComplicationTemplateCircularSmallRingImage()
            let imageName = "bell-icon"
            let image = UIImage(named: imageName)
            circularSmall.imageProvider = CLKImageProvider(onePieceImage: image!)
            circularSmall.imageProvider.tintColor = UIColor.blue
            handler(circularSmall)
        }

    }
...