移动开发小知识:iOS为什么不能实现非人工操作情况下直接执行任务?

有些开发者想实现iOS操作系统下,用户通过浏览器访问某个页面后,浏览器自动去执行某个任务,比如某些openinstall的iOS开发者就希望在用户访问落地页后直接开始安装App。

其实这个任务在iOS操作系统之下是不可能实现的(虽说在安卓的机制下很容易实现),因为iOS的原则就是人工操作权限至上,必须是操作者的主观愿意并主动操作情况下,浏览器(包括所有App)方可去执行某个动作,某种程度上说,这是为了尊重操作者的意愿,贯彻“以人为本”的iOS原则,同时也是出于系统安全的考虑。

不仅浏览器,iOS的所有App都必须遵循这个用户操作至上的原则(除非在少量特殊业务模式下如voip push)。

在APNS的机制中,这种原则体现得尤其明显——iOS绝不允许任何一个PUSH拉起App,而是将推送展示于iOS桌面之上,由这台设备上iOS系统的“无上主宰”,用户,来决定是否响应PUSH请求和拉起App——这是iOS操作系统与安卓系统的重大区别之一,这个机制不仅尊重了操作者愿意,同时也避免了PUSH拉起App造成的电池能量浪费,更重要的是这个机制杜绝了在非人工许可下的应用操作,能够很大程度上确保操作系统的安全性,使得App“悄悄运行和监控、统计用户操作”这种“黑客行为”变得完全不可能——这个机制,是确保iOS系统安全的重要原因之一。很多普通用户(包括很多非专业用户,尤其是女性用户)说iOS安全,其中的重要原因就在于这个机制。

当然,iOS操作系统安全,还有其它原因,晚些时候我会再写一篇小短文,介绍一下iOS中一个大家都知道的机制对于iOS操作系统安全性的意义,和其遵循了什么样的设计原则。(openinstall同淮供稿,转发其注明作者与出处)

猜你喜欢

转载自blog.csdn.net/maoshch/article/details/81638711