【问题标题】:Is transferCurrentComplicationUserInfo more suitable for complication update?transferCurrentComplicationUserInfo 更适合并发症更新吗?
【发布时间】:2015-10-24 09:41:31
【问题描述】:

transferCurrentComplicationUserInfotransferUserInfo 有什么区别?

我想将数据从我的 AppDelegate 发送到时钟套件复杂功能。

transferCurrentComplicationUserInfo 似乎与transferCurrentUserInfo 做同样的事情。我错过了什么吗?

【问题讨论】:

    标签: watchkit apple-watch apple-watch-complication clockkit wcsession


    【解决方案1】:

    这两个WCSession方法的区别在于数据何时发送,以及watchkit扩展是否被唤醒。

    transferCurrentComplicationUserInfo: 专门用于传输要立即显示在表盘上的复杂功能用户信息。

    • 并发症用户信息被标记为“紧急”,并被放置在队列的最前面,
    • 手表在后台唤醒扩展程序以接收信息,并且
    • 传输立即进行。 (其他排队的信息也可能在此时传输。)

    transferUserInfo: 排队信息,当系统确定是处理队列的好时机时传输:

    • 用户信息放在队列的最后,
    • 如果分机未唤醒,则存储传输的信息,
    • 传输不会立即发生,并且
    • 信息按发送顺序传递。

    更多详情请见WWDC 2015 Introducing Watch Connectivity video

    iOS 10 更新:

    在 iOS 10 中,WCSession 添加了一个 remainingComplicationUserInfoTransfers 属性,该属性可以影响 iOS 将使用哪种方法来传输用户信息:

    当天您可以拨打transferCurrentComplicationUserInfo: 的剩余次数。如果此属性设置为 0,则对 transferCurrentComplicationUserInfo: 的任何其他调用都将使用 transferUserInfo:

    如果复杂功能出现在活动表盘上,则每天为您提供 50 次传输。如果并发症未激活,则此属性默认为 0。

    【讨论】:

      【解决方案2】:

      据我所知: TransferCurrentComplicationUserInfo 从父应用程序委托调用时与 transferCurrentUserInfo 具有相同的功能,但是,TransferCurrentComplicationUserInfo 还调用 CLKServer......等来更新复杂性。我不得不说我发现两者都不可靠,而且我正在努力使用 TransferCurrentComplicationUserInfo 来更新我的应用程序。似乎并不总是有效。烦人的事情是,它在构建之间会有所不同,而无需更改从技术上讲是不可能的代码。哦,好吧……

      【讨论】:

        猜你喜欢
        • 2022-11-14
        • 2021-01-08
        • 2018-09-12
        • 1970-01-01
        • 2012-12-10
        • 2020-12-13
        • 1970-01-01
        • 2022-06-19
        • 1970-01-01
        相关资源
        最近更新 更多