妥协?
时间临近2017年1月1日,对于其他开发者来说,这是再普通不过的元旦。然而对于我等iOS小民而言,怕要彻夜难眠了。跟领导说:“老大,元旦之后,苹果不让“裸奔”了”,领导总是一副不屑的眼神:“等等看,车到山前自有路,总会有办法的”。
好打脸,这下好了,12月21日,苹果发文,苹果APP接入HTTPS截止日期延迟,具体日期待定……
看到这则消息,很多人都在为还能继续“裸奔”而欢呼雀跃,自欺欺人的以为这是苹果妥协的结果,事实真的如此吗?对于这种观点,我只能送你一句,别高兴太早,人家只是告诉你:“小子,这次我们是要玩真的”。
强制使用ATS是不是苹果过于激进,那以后上线版本是不是必须要买证书啦,也不见得,其实iOS依旧可以使用HTTP,只是我们上线的时候,要做出合理解释而已。擦边球还是可以打一下的,我们可以在info.plist中,将服务端host:xxx.com添加到Exception Domains中,分别设置(可悲的是擦边球只能iOS10+):╮(╯_╰)╭
即,将域名xxx.com避开ATS验证,依旧支持HTTP,不过我们需要解释说明,可以说需要访问的域名是第三方的,他们不支持HTTPS,不过如果访问的是自己的服务器的话,这个理由有点悬iOS喵神[2]。不过为稳妥起见,我们还是尽快适配HTTPS为好。
参考:
【1】 苹果ATS(强制HTTPS)审核新政解码
【2】关于 iOS 10 中 ATS 的问题