【问题标题】:How do I use CLLocationManager in an OS X Today Extension?如何在 OS X Today Extension 中使用 CLLocationManager?
【发布时间】:2016-10-13 03:43:54
【问题描述】:

我正在尝试在 Today Extension 中获取用户的位置,但我遇到了死胡同。

在 OS X 应用上,当您调用 locationManager.startUpdatingLocation() 时,会弹出一个对话框,询问您是否要让该应用使用您的位置。但是,在 Today 视图中,调用此方法后什么都没有出现,并且我的委托没有被调用 didUpdateLocationsdidFailWithErrorCLLocationManager.authorizationStatus() 返回NotDetermined。我一直在查看 Apple 在 Today Extensions 上的文档,并没有看到太多关于权限或获取用户位置的信息。

我们打算如何在 OS X Today Extension 中获取用户的位置?

编辑:需要注意的一点是,CLLocationManager.locationServicesEnabled() 在我的 OS X 应用程序上返回 true,在我的 Today Extension 上返回 false。这是什么意思,我该如何更改?

【问题讨论】:

    标签: swift macos core-location today-extension


    【解决方案1】:

    OS X Today Extensions 默认使用 App Sandbox,您需要选中正确的复选框以允许 Today Extensions 执行获取用户位置和拨打网络电话等操作。

    在 Xcode 中转到您的 项目设置,选择您的 OS X Today Extension 目标,点击 Capabilities 标签,展开 App Sandbox 部分,然后选中所需功能的复选框(在我的例子中,位置和传出网络连接)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多