WatchKit:使用openParentApplication获取当前位置:回复:

时间:2015-04-07 14:39:07

标签: ios core-location watchkit

打开Apple Watch应用程序后,我使用openParentApplication:reply:唤醒iPhone-App以获取当前位置。正如Apple所说here,你应该避免在WatchKit扩展中使用Core Location。

但如果我问我的父申请,我必须在Required background modes设置info.plist以获取位置更新,并要求用户requestAlwaysAuthorization

这真的有必要吗?将应用程序上传到App Store时会出现问题吗?当激活背景模式时,他们会深入了解。

非常感谢您的回答。

1 个答案:

答案 0 :(得分:3)

是的,您需要requestAlwaysAuthorization才能在任何后台环境中使用位置更新,并且openParentApplication是后台上下文,因此您的WatchKit扩展也是如此。当您请求核心位置的后台模式时,您必须说明您希望在后台获取核心位置的原因。您可以尝试说Apple Watch的原因(当然措辞更好)。此外,Apple表示你应该避免在WatchKit扩展中使用Core Location,但他们并没有直截了当地说你做不到(尽管我们必须等到更多的应用程序被批准才能确定)。他们避免核心位置的原因是用户无法在手表应用程序中授权核心位置。在我自己的应用程序中,我在WatchKit扩展中使用Core Location。如果用户执行需要核心位置的操作,我首先检查它是否已获得授权。如果未经授权,我不会启动核心位置,而是向用户显示一条消息,告诉他们如何在我的iOS应用中授权核心位置。