Brightkite iPhone应用开发全解析
1. Core Location使用挑战与解决方案
在使用Core Location时,我们遇到了一些有趣的挑战。首先,由于Core Location的数据来自系统级进程,它有时会报告旧的或过时的位置数据。这对于早期Brightkite iPhone应用的测试人员来说尤其令人沮丧,因为在应用更新到更准确的值之前,可能会短暂显示城市另一端的位置。为了解决这个问题,我们必须检查Core Location值的时间,并确保它是在Brightkite iPhone应用启动之后获取的。
此外,对于内置GPS模块的iPhone,Core Location确定准确位置所需的时间可能长达5 - 10秒。因此,我们做出了一个工程决策,即在Brightkite应用启动期间保持GPS无线电开启,以确保位置数据的持续流和最佳准确性。虽然这种方法会影响电池性能,但典型的移动应用用户通常是快速进出应用,而不是长时间运行应用。
当我们能够获取新鲜、准确的位置数据后,我们添加了一个快速定位功能,这无疑改善了整体的Brightkite体验。在服务端,Brightkite不仅将地理坐标与特定的签到地点关联起来,还能识别用户访问该特定位置的频率。这使得Brightkite原生应用在用户接近经常访问的地点时能够自动定位到该地点。这种地点快速定位功能是iPhone原生应用中最受用户欢迎的功能之一,而在网页应用中是无法实现的。
值得注意的是,在iPhone OS 3.0中,网页应用可以通过JavaScript调用请求Core Location数据。如果一年前就有这个功能,Brightkite可能不会如此积极地投入到iPhone原生应用的开发中。
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



