先说需求:
应用只要打开以后,不管是在前台还是后台状态,都要每隔一段时间上报一次位置
先开始以为只要后台保活即可,于是就参照网上做法,应用退到后台时,每隔30秒请求一次后台任务,延时应用存活时间,此做法确实可以达到保活效果,应用在后台长时间也不会被系统杀掉,但是应用一旦进入后台,几十秒后就无法定位,系统会禁用掉GPS,所以再获取位置的话,经纬度都是0,这种做法无法满足需求
后台保活参照该位置:https://www.jianshu.com/p/b2abd7afdc21
如果想要在后台继续能获取到位置,就必须开启后台定位模式
但是非导航类应用,即使开启了后台定位,上架也是个大问题,分享一下我的上架过程
1、info.plist中增加权限配置说明,貌似现在一定要说清楚用处
2、应用内做后台定位权限开关,将定位权限交给用户,
同意定位的话就可以后台定位了
如果用户允许后台定位,最好增加一个页面,展示定位记录的,如果不是要做那种地图轨迹的,可以直接一个列表展示即可,主要目的是让用户知道自己的定位,如果不同意就不显示定位记录,也不开启后台定位
以上是项目的准备工作,在提交时候也有工作要做
3、App Store Connect 上的描述部分,要增加注意事项,提示后台定位耗电什么的,可以参考AppStore上的地图或者导航类的应用
如果还有不放心的,可在备注部分补充说明
如果还担心的话,最好在上传一份定位演示视频,解释更清楚
以上就是我上架前的准备工作,很幸运,一次通过。
声明: 转载请注明出处:https://www.jianshu.com/p/5ae9327131c5