文章目录
一. 故事的起因
对于一个没有其它领域开发背景的APP开发人员来说,“跨域资源访问”可能真的不属于我们需要认真关心的问题。就原生开发来说,主流的接口开发模式大多数都转变成无状态的接口请求方式,一方面可以真正迎合APP在开发过程中的简单适用性。对于服务端来说,在后期的优化及扩展实现上更简单灵活。无需要像网页开发一样,用临时隐藏cookit字段的方式实现用户身份的辨认(Session)。APP在进行接口请求时,都可以在HTTP头或者body中附带个人身体识别码(token)等信息给到接口进行身份识别。所以,就这么简单粗暴。
但是,尽管这样,我们做这行,多知道点东西还是没坏处的,说不定哪天就用上了。
于是,这么一天就到了。也就是前段时间,我们的专车项目有一部分边缘业务是以混合开发的模式嵌入了WKWebview进行H5页面的展示。对于我们做APP的人来说,这是再简单不过的事情了。
开发好之后给到测试人员进行测试的时候,我们发现很多系统上都没测到H5在WKWebview运行的问题,唯独在IOS12系统的手机上,有些流程不能走通。在排除了各方面问题后,一班人感觉束手无策。
这时候,web前端怀疑是服务端接口的问题,服务端接口在怀疑是我们APP的问题。对于很多APP开发人员来说,WKWebview的使用也就那么回事了,想做错都比较难,于是就陷入僵局。
因为打车项目只是我们团队开发的众多项目中比较小的一个,我就安排了一两个人去做项目的更新迭代,到时下午开小组会议的时候我才得知问题的存在。在初步得知情况后,把问题指向了 “是否WKWebview在IOS12系统上存在宽容度的差异”