【问题标题】:Is it possible to implement acceleration api in watch APP?手表APP可以实现加速api吗?
【发布时间】:2015-01-21 06:39:23
【问题描述】:

我创建了一个支持加速度计 api 的 iPhone 应用程序。检测 iPhone 的 x、y 和 z 位置的加速度。效果很好。我查看了一个新的手表套件框架及其编程指南。 Apple Watch 有默认传感器来检测加速度。我需要创建一个新的手表应用程序,以找到苹果手表加速。有人说在堆栈溢出线程中没有直接访问苹果手表传感器的 api(苹果文档中提到的地方)。是否可以使用 Apple Watch 完成这项工作?

  • apple watch 扩展不支持这些apple api? (CoreMotion、CoreLocation、CoreData……)
  • 有任何替代建议吗?

【问题讨论】:

    标签: ios iphone ios8 watchkit xcode6


    【解决方案1】:

    Apple Watch 上的传感器无法做到这一点。 Watch App 的代码在 iPhone 上作为扩展程序运行,而不是在 Apple Watch 上运行。这意味着您可以使用 iPhone 上的传感器在 Apple Watch 扩展中使用 Core Motion、Core Location 等。如果您想要 iPhone 的 x、y 和 z 位置的加速,那么您可以使用 iPhone 上 Watch 扩展中的 iOS API 来实现。

    【讨论】:

    • 谢谢。所以 Apple Watch 只用于 UI 和用户交互。所有其他操作(位置监控、运动检测器、网络服务调用......)都由 iPhone 完成,并与 Apple Watch 共享数据。对吗?
    • 没错。您的应用程序将分为两个部分。您通过 Apple Watch 上的故事板创建 UI,然后您的所有代码都在 iPhone 上的扩展中。例如,这里是如何在扩展中使用核心位置。 stackoverflow.com/questions/27960108/…
    • 再次感谢。 - 如果我在手表扩展文件中实现了位置管理器,那么提示的位置警报应该在 iPhone 中打开吗? (如果 iPhone 应用程序没有运行怎么办) - 我们需要为 iPhone 应用程序和手表应用程序维护单独的源吗?
    • 您需要检测用户没有在您的手表扩展中授权核心位置。如果他们没有,那么您将需要指导用户如何授权位置更新。用户需要在您的 iPhone 应用程序中执行此操作。如果他们在您的 iPhone 应用程序中授权位置更新,那么您的手表应用程序也有权限。您可以使用框架在手表和 iPhone 应用程序之间共享代码。 iPhone 和 watch 扩展的二进制文件在同一个应用程序包中。
    【解决方案2】:

    当 Watch OS 2 发布时,这将发生变化,特别是扩展将在手表上运行并可以访问 Core Motion 框架。

    https://www.bignerdranch.com/blog/watchkit-2-hardware-bits-the-accelerometer/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2017-04-18
      • 2018-04-15
      相关资源
      最近更新 更多