在Apple WatchKit中使用Core Location

我目前正在开发苹果手表扩展。 有人知道当前的位置是由iPhone还是Watch本身提供的? 我找不到任何关于此的信息,我需要画一个指向手表指向的指南针。

为了做你想做的事,你不需要CoreLocation,你只需要一个磁力计。

AFAIK Apple Watch没有内置的。

它拥有的传感器……

  • 加速度计
  • 陀螺仪
  • 心率传感器
  • 晴雨表

虽然没有磁力计。

根据Apple的开发文档:

执行任何长时间运行任务的最佳解决方案是让您的iOS应用程序执行任务。 例如,不要在WatchKit扩展程序中启动位置服务,而是在iOS应用程序中启动它。 您的iOS应用可以收集所需的数据并将其放入共享的应用组中,以便您的扩展程序可以在以后访问它。 使用openParentApplication:reply:方法启动任务并接收回复或使用共享组容器在iOS应用和WatchKit扩展之间传递详细信息。 有关如何处理iOS应用程序和WatchKit扩展程序之间的通信的信息,请参阅直接与包含iOS应用程序通信。

PS我正在研究类似的应用程序。

您不能使用watchkit扩展中的CoreLocation。 但是,您可以使用api打开父应用程序(在后台)并询问您的父api以获取相关信息。 api非常好用,因为你可以使用它和回复,以便你可以轻松地获取信息:

+ (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo, NSError *error)) reply; // launches containing iOS application on the phone