首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS 8定位服务不工作

IOS 8定位服务不工作
EN

Stack Overflow用户
提问于 2014-09-28 03:34:47
回答 1查看 3.3K关注 0票数 1

摘要:之前运行的应用程序无法运行geode代码和反向geode代码。反向geode代码失败,因为geode代码无法提供位置。然后,我使用了苹果自己的LocateMe示例代码,并在隐私下启用了位置服务。我还启用了定位服务下的"Allow Location Access“,但在运行苹果的LocateMe或我自己的应用程序后,这个设置本身就变成了空。

重现步骤:似乎位置服务SDK获取位置的步骤被破坏了。之前在iPhone 5上运行的软件在升级到iOS8后停止工作。步骤1.加载示例LocateMe苹果的示例核心位置示例项目;步骤2.在系统设置下启用定位服务,同时将应用程序的“允许定位服务”更改为始终。

Get-Location失败,"always“设置被删除。

预期结果:获取位置和位置更新。

实际结果:参见上文。

版本: IOS 8.0.0和8.0.2

备注:

配置: iPhone 5和iPhone 6 Plus

添加这个也无济于事: self.locationManager requestAlwaysAuthorization;

EN

回答 1

Stack Overflow用户

发布于 2014-09-29 23:24:57

使用

代码语言:javascript
复制
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) \
    ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)



        if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8")) {
            CLLocationManager *manager = [[LocationManager sharedInstance] clLocationManager];
            [manager requestWhenInUseAuthorization];
            [manager startUpdatingLocation]; // or what ever location function you need.
        } else {
            // The usual way for iOS <= 7
            // (Do what you did before) 
        }

除了以上内容之外,您还必须为info.plist文件中的密钥NSLocationWhenInUseUsageDescription添加一个字符串值。该值是当iOS询问用户是否授予应用程序的位置访问权限时,在变量中显示的字符串。为了向后兼容,您可能还想添加密钥NSLocationUsageDescription

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26078408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档