iOS14——位置权限单独申请精准定位使用方法

踩的坑记录一下,搜了好多地方都没有搜到

1. CLLocationManager类

定位新增属性字段:CLAccuracyAuthorization用于判定用户开启的定位方案

typedef NS_ENUM(NSInteger, CLAccuracyAuthorization) {
	// This application has the user's permission to receive accurate location information.
	// 这个是精准定位
	CLAccuracyAuthorizationFullAccuracy,

	// The user has chosen to grant this application access to location information with reduced accuracy.
	// Region monitoring and beacon ranging are not available to the application.  Other CoreLocation APIs
	// are available with reduced accuracy.

	// Location estimates will have a horizontalAccuracy on the order of about 5km.  To achieve the
	// reduction in accuracy, CoreLocation will snap location estimates to a nearby point which represents
	// the region the device is in.  Furthermore, CoreLocation will reduce the rate at which location
	// estimates are produced.  Applications should be prepared to receive locations that are up to 20
	// minutes old.
	// 这个是模糊定位
	CLAccuracyAuthorizationReducedAccuracy,
};

2. 根据字段去进一步获取定位

通过字段判断可以明确当前用户开启的定位,如果是模糊定位
self.locationManager.accuracyAuthorization == CLAccuracyAuthorizationReducedAccuracy
申请精准定位

[self.locationManager requestTemporaryFullAccuracyAuthorizationWithPurposeKey:@"newlocation" completion:^(NSError *error) {
           }];

还有另一个API,可以自己查看。

还有配置plist文件,这块网上都很全

3. 注意

如果用户一开始拒绝定位,那么这些方法都不起作用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值