gpt4 book ai didi

ios - 如何连接和调试自定义 ClockKit Complications Controller ?

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:27 24 4
gpt4 key购买 nike

我正在尝试让自定义 ClockKit Complication 正常工作。

  1. 我创建了一个符合 CLKComplicationDataSource 的自定义 ComplicationController。它作为 CLKComplicationPrincipalClass 添加到 Watch Extension 的 plist。

我可以在 watch 上选择并激活它,但我只看到“----------------”而不是我的实际占位符。

我尝试了什么

  • 我向我的 ComplicationController 添加了自定义 override init(){…} 并在其中放置了一个断点以进行调试。但即使在运行 Complication build scheme 时,也永远不会达到这个断点。我的自定义 ComplicationController 似乎从未实例化。

  • 我确实看到一条日志消息 Extension received request to wake up for complication support。 但我不清楚它在代码中的何处触发。

  • 我还尝试从我的主 InterfaceController 调用以下命令以了解我的事件并发症

    if let server = CLKComplicationServer.sharedInstance() {
    for complication in server.activeComplications {
    server.reloadTimelineForComplication(complication)
    }
    }

    ... 但是 server 返回 nil。似乎没有并发症活跃和重新加载。

问题

  • 如何成功连接我的自定义 ComplicationController?

    也欢迎任何额外的调试技巧。

    从 watch 模拟器或 iPhone 上的 watch 应用程序中删除复杂功能通常就足够了吗?还是您需要重新安装整个 watch 应用程序才能看到与复杂功能相关的更新生效?此外,当我在我的自定义 ComplicationController 中记录某些内容时,我应该只在使用 Complications 构建方案或正常的 Watch App 构建方案运行时看到它的输出吗?

欢迎提出任何发现问题的想法。

最佳答案

由于您实际上可以在 watch 上选择复杂功能,因此听起来所有项目都已正确设置。由于它没有达到断点,这听起来像是复杂功能无法找到您的自定义 Controller 。由于您使用的是 swift,因此您需要指定 Controller 的模块。尝试将 watch 应用的 plist 中的 CLKComplicationPrincipalClass 值更改为:

$(PRODUCT_MODULE_NAME).ComplicationController

关于ios - 如何连接和调试自定义 ClockKit Complications Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34536561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com