新年将至,工作比较繁忙,项目也马上结项,没有什么时间记录,忙里偷闲稍微写一点遇见的坑吧。
一、iOS系统定位相关
遇见的坑:
1.使用CLLocationManager进行定位操作,基本代码都已经写全,plist文件相关配置也进行了配置,但是测试的时候发现提示用户使用定位的提示框一闪而过。。。
解决办法:将CLLocationManager写作成员变量或者属性。
2.定位同意后台一直运行,测试在用iOS8的时候会闪退,最后发现这个功能只支持iOS9以上的系统,所以使用的时候要进行一下判断
解决办法:
if([[UIDevice currentDevice] systemVersion] >= 9) {
[locationManager allowsBackgroundLocationUpdates];
}
二、使用天地图Api遇见的坑
由于是政府项目,功能需求要求使用天地图进行相关操作。
于是乎查看api,下载demo学习,不外乎和百度地图基本一个思路,但是功能比较简单。但是demo(2015年3月更新的新版本😂 )运行的时候发现使用定位功能时失败。
崩溃o(≧口≦)o。。你是demo啊,你怎么能运行失败,找原因,最后发现plist文件没有进行配置(xcode8 iOS10 新特性)配置!还是不行。最后发现设置里面只有一个网络请求的权限,没有定位权限,于是乎添加系统定位权限相关代码,完美解决。
吐槽一下,你是一个demo啊,有定位功能,怎么不写开启定位的相关代码呢?
三、一个大坑
在这里奉劝大家,接手一个项目时一定要捋清楚功能需求,然后在进行开发,由于当时比较急,也没有相关文档,只能按照安卓版本进行开发。。导致后面的代码东拼西凑,一会一个隐藏功能。现在的代码惨不忍睹,准备完成之后进行整合优化。。切记切记!!