最近碰到一个蹊跷的设备相关问题。我们的游戏使用的是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加密协议保证安全
所以结合前面的测试环境, 证明这个问题确定被修复