自2018年10月18日起,高德开发者论坛除车机板块外,其他板块将停止发帖与维护,如您有使用问题请 提交工单 联系我们,感谢您的理解。

查看: 13679|回复: 30
打印 上一主题 下一主题

iOS 8无法定位的解决方案

[复制链接]
最佳答案
0 

1

主题

6

帖子

39

积分

新手上路

Rank: 1

积分
39
楼主
发表于 2014-9-22 21:26:34 | 显示全部楼层
本帖最后由 Ken_DC 于 2014-9-22 21:27 编辑

试过了,不行啊!
没有alert弹出请求定位服务
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

6

帖子

39

积分

新手上路

Rank: 1

积分
39
沙发
发表于 2014-9-23 15:48:54 | 显示全部楼层
本帖最后由 Ken_DC 于 2014-9-23 15:51 编辑

[_locationManager requestWhenInUseAuthorization];

是_locationManager成员变量。默认是strong的,应该不会被自动释放。
我也实现了代理:
  1. - (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {
  2.     switch (status) {
  3.         case kCLAuthorizationStatusDenied :
  4.         {
  5.             // 提示用户出错原因,可按住Option键点击 KCLErrorDenied的查看更多出错信息,可打印error.code值查找原因所在
  6.             UIAlertView *tempA = [[UIAlertView alloc]initWithTitle:@"提醒" message:@"请在设置-隐私-定位服务中开启定位功能!" delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
  7.             [tempA show];
  8.         }
  9.             break;
  10.         case kCLAuthorizationStatusNotDetermined :
  11.             if ([_locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) {
  12.                 [_locationManager requestWhenInUseAuthorization];
  13.             }
  14.             break;
  15.         case kCLAuthorizationStatusRestricted:
  16.         {
  17.             // 提示用户出错原因,可按住Option键点击 kCLErrorDenied的查看更多出错信息,可打印error.code值查找原因所在
  18.             UIAlertView *tempA = [[UIAlertView alloc]initWithTitle:@"提醒"
  19.                                                            message:@"定位服务无法使用!"
  20.                                                           delegate:nil
  21.                                                  cancelButtonTitle:@"确定"
  22.                                                  otherButtonTitles:nil, nil];
  23.             [tempA show];
  24.         }
  25.             break;
  26.             
  27.         default:
  28.             break;
  29.     }
  30. }
复制代码


并且有回调。就是没有alert弹出请求定位服务
进入代理方法:kCLAuthorizationStatusNotDetermined case情况
再次调用[_locationManager requestWhenInUseAuthorization];也没反应
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

6

帖子

39

积分

新手上路

Rank: 1

积分
39
板凳
发表于 2014-9-23 15:57:04 | 显示全部楼层
找到方法了!!!!!!擦擦擦

都把这个plist属性写错了。而且一搜互联网都tmd错的。
去stackoverflow才问对。

NSLocationWhenInUseUsageDescription,不是tmd NSLocationWhenInUseDescription
回复 支持 反对

使用道具 举报

最佳答案
0 

1

主题

6

帖子

39

积分

新手上路

Rank: 1

积分
39
地板
发表于 2014-9-23 16:05:48 | 显示全部楼层
找到问题了:
请将NSLocationWhenInUseDescription 替换成 NSLocationWhenInUseUsageDescription
以讹传讹啊!!!
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|高德开发者论坛

Copyright ©2014 高德开发者论坛.All Rights Reserved |京ICP证070711号

意见反馈 常见问题 服务条款 联系我们
快速回复 返回顶部 返回列表