的iOS 7.0和7.1中的iOS重要位置更改(SLC)

的iOS 7.0和7.1中的iOS重要位置更改(SLC)
Matt是Wandera的产品经理,专注于移动性和企业集成。他亲自为企业和消费者编写了多个iOS应用太阳2,提供从移动内容协作到增强智能家居恒温器等功能。借助MDM,网络,安全性和VoIP方面的其他技术专长,Matt可以以全面,完整的方式帮助管理Wandera的移动计划。在与Wandera合作之前,Matt曾在Unwired Revolution公司工作,Unwired Revolution是一家专业的移动集成商和咨询公司,致力于协助大中型企业设计,部署和管理大型移动计划。

自从iOS 4.0引入(多任务处理首次引入该平台)以来,Apple包括一项称为重要位置更改(SLC)的功能,该功能使操作系统可以‘wake-up’暂停或终止的应用太阳2,通知其设备已物理移动‘significant distance’。唤醒后,该应用太阳2将被允许在后台运行最少的时间,以执行其必须执行的任何面向位置的任务,然后操作系统将再次暂停该应用太阳2。

尽管从概念上讲很简单,但是SLC的实际实现还是有些黑魔法。 SLC事件将根据用户触发’电池塔之间的运动,但是没有期望到该距离有多远。有趣的是一些人最终 构建实用太阳2 这将简单地测量SLC事件之间的距离,并将这些值报告给数据库,从而得出经验平均值。通过这些练习,我们发现90%的设备会在移动5公里之内触发一次更新,而50%的设备会在1公里之内触发一次更新,尽管这些值会根据用户的密度而变化’位置以及其他变量(自几年前进行这些测量以来可能已经更改)。

最重要的是,在用XCode开发应用太阳2时,无法有效地测试SLC事件。 即使在撰写本文时,真正测试SLC事件的唯一方法是在物理设备上运行该应用太阳2,跳上汽车或火车,然后等待事件触发并从那里调试。我都做到了,绕过许多街区,并在此过程中到达了许多公交线路的尽头。 当然,您可以使用非SLC位置更新进行一些核心调试,这在生产中会消耗更多的电池,但是如果您要确保启用了SLC的应用太阳2能够正常运行,则选择的选择确实受到限制。

如前所述,直到iOS 7.0发行,SLC事件都会唤醒在后台被暂停或终止的应用太阳2,无论这是由于操作系统还是用户造成的。如果存在内存压力,操作系统通常会定期终止挂起的应用太阳2,以便为用户正在使用的应用太阳2分配最佳工作所需的所有内存。普通用户还会终止应用太阳2(通过双击主屏幕按钮并滑动所需的应用太阳2),这是常见的误解,即这样做可以使设备以更快的电池寿命更快地运行(这仅适用于很小一部分用户)“misbehaving”应用)。但是,SLC事件具有特殊功能,可以使在这种情况下终止的应用太阳2复活,从而使应用太阳2能够唤醒并执行位置更改后要执行的操作…直到发布iOS 7.0。

随着iOS 7.0的发布,并且没有任何公告或技术文档表明其他情况,SLC事件将不再唤醒被用户杀死的应用太阳2,尽管它仍会重新启动被系统杀死的应用太阳2。这一突然的,未宣布的变化对已经构建了基于iOS 7.0之前的SLC应用太阳2重启行为的应用太阳2的企业及其客户造成了严重破坏。对于Wandera的我们来说,我们依靠我们的应用太阳2和SLC来通知我们,当用户更改国家/地区来检测漫游状态时,如果用户杀死了我们的应用太阳2,我们将失去这种检测能力。这让我们头疼。

数十家公司,其中一些拥有数百万个订户和设备,看到了关键任务的惊人下降“check-ins”从他们的应用太阳2中获得越来越多的订户基础。错误是向Apple提交的,但是Apple工程部门认为用户应该拥有终止其不执行的任何应用太阳2的最终权利。’不想运行,并使其不再运行。据信这是iOS 7.0中所做更改的推动力。

在绝望中“Hail Mary”尝试,Life360的首席执行官发送了一个 打开信封 直接向蒂姆·库克(Tim Cook)解释说,这一突然而没有记录在案的变更对他的业务以及其他许多业务都具有毁灭性的影响。令他惊讶的是,对于整个Apple开发社区的其他人,他收到的答复是,旧的SLC功能将在iOS 7.1中恢复。 瞧,该功能已在iOS 7.1 beta 5中恢复,并在本月初发布了正式版7.1版本。像Life360一样,我们也花了很多时间来解决此问题。

As our users upgraded to 的iOS 7.1, we saw immediate improvements of 签到. Apps we hadn’几个月以来,一直没有人像iOS 7.0之前一样开始可靠,一致地进行检入。

移动领域瞬息万变,提供企业移动解决方案需要一支反应迅速且敏捷的团队。尽管我们总是找到应对任何挑战的方法,但它’在周围工作总是更简单,所以它’很高兴看到Tim Cook和Apple在开发者社区中倾听。

您是否经历过iOS 7.1中SLC的改进?让我们在评论中知道。

查看评论
发表评论

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *