定位这玩意,首先声明,我用的是系统的,实现的是基本的功能,主要是请求使用权限。
然后,权限分两个:
使用期间 和 始终使用
然后根据你的需求,在info.plist里面添加相应的属性,当然,我们也可以两个都添加
NSLocationWhenInUseUsageDescription 使用期间
NSLocationAlwaysUsageDescription 始终使用
注意了 这两个属性是字符串的,不是BOOL的,网上说的YES和NO都是骗人的,或许以前是这样的,这个属性是只要出现就证明你允许这个权限了,本人亲自测试过,不管是设置YES还是NO,结果都是一样的。然后,我不是在后面分别写了一句话么?那个是在弹出的提升框里面会出现,当然,一般的APP都是没有设置的,你直接添加属性后不管就是了,这个只是看效果的。
然后,我们需要导入相应的依赖库
在我们需要的地方,导入头文件,写一个全局的定位管理器的指针,
必须是全局的,局部的不会响应,没有效果的!
下面是代理,在这个代理里面可以获取经纬度,主要用于定位到某个城市,当然也可以是街道,这就是所谓的反编译编译出地址
下面是两个按钮方法,分别请求权限,在第一个中,可以看到我请求了两个,实际上,只有第一个才会相应,当然,在点击点一个后,点击第二个,也是会相应的。但是。每个权限都只会响应一次,因为我们再info.plist里面添加了两个属性,所以,尽管我们只请求一个权限,也是会出现两个选项的,这个可以在设置里面看到。
下面是效果图,截图
工程源代码下载地址:https://github.com/fillinse/LocationDemo
欢迎各位指出文中的错误及不足指出!