ios9的HTTPS引起的血案

ios9的HTTPS引起的血案

最近碰到一个蹊跷的设备相关问题。我们的游戏使用的是Unity3D 4.X 真机测试环境都是ios8越狱,从iPhone6,iPad3到iPhone5s都有。所有包在我们本机测试都是OK的,结果包发出去, 在iTouch5,iPhone6s这些2015年新出的设备上一律卡进度条

随即,我们进行了分析。期初推断是arm64引起的问题,尝试调整为il2cpp同时启用armv7和arm64的通用包,问题没有解决。

继续分析:因为游戏正常启动, 只是初次加载卡进度条, 那么可以排除是arm64位问题导致的,因为如果是不兼容包, 在安装时直接会报出架构错误,无法正常安装。

给游戏内部加入了一个HTTP日志系统, 给服务器报错。跟踪了一次, 结果发现了一些奇怪日志

在检测下载之前的加载没有出现任何问题

但是下载错误报了两次, 第一个错误在我们本机也会报,但可以忽略。 但第二个错误只有iTouch5,iPhone6s会出现

报错后, 所有日志都出现了两次。

对比了下代码,发现了一些逻辑漏洞。但同时需要注意的是, 这个bug的问题的核心就是在这一个错误描述上

The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

查过文章发现,ios9开始默认要求所有的app的HTTP访问必须使用HTTPS加密协议保证安全

所以结合前面的测试环境, 证明这个问题确定被修复

你可能感兴趣的:(ios9的HTTPS引起的血案)