Apple Watch简单的“模块化大”并发症不会显示在自定义屏幕上,除非我也启用了所有其他并发症

问题描述 投票:1回答:1

我正在测试,并能够在一个非常简单的应用程序中重现此内容。我正在观看WWDC 2015视频:https://developer.apple.com/videos/play/wwdc2015/209/

另一个使用相同信息的教程是:https://www.bignerdranch.com/blog/watchkit-2-complications/

就像WWDC视频一样,我希望我的应用仅提供CLKComplicationTemplateModularLargeStandardBody并发症。因此,在扩展程序的目标常规设置中,我仅启用了Modular Large

enter image description here

为了进行简单测试,我只添加了占位符的代码:

- (void)getLocalizableSampleTemplateForComplication:(CLKComplication *)complication withHandler:(void(^)(CLKComplicationTemplate * __nullable complicationTemplate))handler {
    // This method will be called once per supported complication, and the results will be cached
    NSLog(@"getLocalizableSampleTemplateForComplication: %ld",(long)complication.family);

    if (complication.family==CLKComplicationFamilyModularLarge) {
        CLKComplicationTemplateModularLargeStandardBody *template = [[CLKComplicationTemplateModularLargeStandardBody alloc] init];
        template.headerTextProvider=[CLKSimpleTextProvider textProviderWithText:@"Date"];
        template.body1TextProvider=[CLKSimpleTextProvider textProviderWithText:@"Class"];
        template.body2TextProvider=[CLKSimpleTextProvider textProviderWithText:@"Location"];
        handler(template);
    } else {
        handler(nil);
    }
}

此后,我删除甚至重置了iPhone和Watch模拟器。然后运行该应用程序。在Infograph Modular表盘的手表的自定义屏幕中,我看不到我的应用程序可用。

enter image description here

一个有趣的事情(错误???),我注意到,如果我进入扩展程序的常规设置并启用所有复杂功能,它将显示出来。

enter image description here

但是我不想提供其他类型的并发症。我只想为我的应用程序提供Modular Large。这是一个错误吗?

我注意到的另一件事是,占位符显示--------而不是我提供的TextProvider模板。这是另一个错误吗?

我已重置模拟器,从手表和iPhone中删除了我的应用很多次,没有解决方案。重置后,我的NSLoggetLocalizableSampleTemplateForComplication确实打印了,但是复杂性没有出现在自定义屏幕中。

ios watchkit apple-watch watchos-2 watchos
1个回答
0
投票

我遇到了完全相同的问题。您能解决这个问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.