【问题标题】:WatchKit extension: how to read data from host iOS app?WatchKit 扩展:如何从主机 iOS 应用程序读取数据?
【发布时间】:2015-08-21 19:33:11
【问题描述】:

问题背景:
宿主 iOS 应用以 10 fps 的帧速率动态生成 UIImage,我只想从 WatchKit 扩展中检索 UIImage 数据并以相同的速率在 Watch 应用上显示图像。

我目前的解决方案:
我为 iOS 应用和 WatchKit 扩展设置了一个应用组。 iOS 应用将每一帧写入一个 png 文件(约 10k)到群组共享位置,WatchKit 扩展使用 NSTimer 以相同的速率读取文件,然后将数据发布到 Watch 应用。

问题:
它的性能非常差。 Watch 应用程序丢失帧,因此动画呈现非常糟糕。根本原因可能是 WatchKit 扩展程序的文件读取操作,或者数据从扩展程序无线传输到手表应用程序。

有人有类似要求吗?
有没有更好的解决方案:

  1. 从 iOS 应用读取数据到 WatchKit 扩展?
  2. 在手表应用上显示动态图像?

【问题讨论】:

    标签: ios objective-c uiimage watchkit apple-watch


    【解决方案1】:

    您的性能很差,因为运行周期从来都不是完美的,而且同步的调用也没有完全对齐。

    解决此问题的正确方法不是像您一样即时生成图像,而是在您需要它们之前生成图像。

    您可以在 Xcode 中生成这些图像并将它们包含在 WatchKit 应用程序的包中(如果它们是您会经常使用的通用工具),您可以在 WatchKit 应用程序启动时生成它们(如果您知道'将需要并且您稍后将需要它们),或者您可以在实际需要它们之前生成它们。

    如果选择后两者之一,最佳实践就像您现在所做的那样,将它们存储在共享应用组中(不使用openParentApplication:reply:)。但是,同时访问和写入同一组时必须小心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2015-06-13
      • 1970-01-01
      相关资源
      最近更新 更多