13
Feb

iOS中GPS被持续唤醒的问题

分类: 技术分享, 移动终端   |  标签: , ,   |  共有: 209 次浏览 , 暂无评论

iphonegps

虽然这篇文章的篇幅不长,但这是由两次DFU惨痛代价所换回来的。昨天早上的时候,我装了一个配置文件更新,后来重启以后就发现系统的GPS被持续唤醒,后来删除了配置文件,重启以及硬重启之后都没有将该问题解决,于是开始了我的漫长折腾之旅。

系统出现的症状,就是GPS被持续的频繁调用,这一点可以由系统左上角的图标提示所看出来,这个GPS图标功能默认在系统中是关闭的,你可以在设置中找到并打开它。

后来我翻看了之前的系统截图,发现貌似这个问题可能并不是由早上的配置文件更新所引起的,而是最近就出现了有一段时间了。不过在去年底的时候,该现象并未发生,我核对了一下近期的IOS更新,确认应该不是由某个系统系统更新导致。

info

针对GPS图标的显示说明,系统里面给出了上面的说明,根据这个说明,我们从系统中查询到近期唤起GPS的是“运动校正和距离”这个功能模块,而且后面通过实践也证明,只要关闭这个功能模块之后,这个问题就不见了。

难道这是一个系统BUG?我找了一台其他人的手机来看,虽然同样打开这个功能,但是并没有出现我手机上的现象。那么,这个“运动校正和距离”到底是干嘛用的呢?我在网上查询了一大圈,大致的说明是,这个功能是用于运动相关的,某些时候,和Apple Watch会产生关联效应,不过作为穷逼的我,并没有Apple Watch啊…

为了彻底排查是否是系统软件本身或者是硬件原因所导致,我进行了DFU操作,万幸的是,DFU之后这个现象就消失了,然后我挨个的装回软件并进行初始化,突然,这个症状又出现了,看来,是某个傻逼软件导致的,而这个傻逼软件肯定是调用了系统的运动数据,这么以来目标很快就锁定了,就是小米运动这个软件没错。

不过悲剧的是,就算是我禁用这个软件的调用权限,或者是删除这个软件,然后进行重启或者硬重启,这个问题一旦出现,就无法进行修复。我心中千万匹草泥马狂奔而过,所以,我只能默默的再进行了一次DFU…

最终,我终于在一个Apple网站的讨论帖中寻找到了大致的答案,虽然不是官方的解答但遇到的情况和推论基本上还算合理:

就是某些应用程序一旦要求访问运动和健身数据,就会发起一个运动校准循环,在我这里是MiFit这个程序,而网友发现Runtastic也有类似的情况发生。所体现出来的现象,就是左上角出现空心的箭头,并且间断随机的会出现GPS调用和校准操作,而这个循环无法被终止,即便是你重置系统GPS设置也没意义…唯一的办法只有重装iOS,但是该网友也说,这个现象仅出现在iPhoneX上,因为我手上没有其他设备,所以也无法进行测试了。

当然,你也可以关闭顶部的GPS图标显示,来做到眼不见心不烦,但是毋庸置疑的是,这样的循环调用,肯定会给手机带来额外的电池消耗,而这样的消耗是毫无意义的…

好吧,折腾了一个晚上累死了,希望能给大家带来帮助。




在下方发表关于本文的评论...