我试图让用户在今日推广中占据一席之地,而且我正在走向死胡同。
在OS X应用程序中,当您致电locationManager.startUpdatingLocation()
时,会弹出一个对话框,询问您是否要让该应用使用您的位置。但是,在今日视图中,调用此方法后根本没有任何内容出现,我的代理人没有被didUpdateLocations
或didFailWithError
调用。 CLLocationManager.authorizationStatus()
返回NotDetermined
。我一直在查看关于今日扩展程序的Apple的文档,并且没有太多关于权限或获取用户位置的信息。
我们如何在OS X Today Extension中获取用户的位置?
编辑:需要注意的一点是CLLocationManager.locationServicesEnabled()
在我的OS X应用上返回true
,在我的今日推广上返回false
。这是什么意思,我该如何改变呢?
答案 0 :(得分:4)
OS X Today Extensions默认情况下使用App Sandbox,您需要选中右侧框以允许Today Extension执行诸如获取用户位置和进行网络呼叫等操作。
转到Xcode中的项目设置,选择您的OS X Today Extension目标,点击功能标签,展开 App Sandbox 部分,并选中所需功能的框(在我的例子中,位置和传出网络连接)。