Unity 通过 www 下载 assetbundle , 在 iOS9 设备无法下载的问题
2015-12-03 14:51
627 查看
我们项目是通过 www 下载 Assetbundle 来实现热更新的, 在 iOS 8上一切正常,但在 iOS9 设备上发现无法下载,跟踪调试发现以下错误信息
“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.”
原因是 iOS9 引入了新的 App Transport Security (ATS) 特性,禁止使用 http 协议传输。
但是我们可以通过修改 pList 文件来绕过这个问题:
当我们通过 Unity 导出 xCode 工程时,如果采用的是 "Replace" 模式, 则需要我们手动设置 pList 文件,
这样会非常麻烦,幸好 Unity 提供了修改 pList 文件的接口,自动设置相关代码如下:
将该文件放入 Editor 目录下即可。
“App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.”
原因是 iOS9 引入了新的 App Transport Security (ATS) 特性,禁止使用 http 协议传输。
但是我们可以通过修改 pList 文件来绕过这个问题:
当我们通过 Unity 导出 xCode 工程时,如果采用的是 "Replace" 模式, 则需要我们手动设置 pList 文件,
这样会非常麻烦,幸好 Unity 提供了修改 pList 文件的接口,自动设置相关代码如下:
using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.Collections; using UnityEditor.iOS.Xcode; using System.IO; public class ChangPlistSetting { [PostProcessBuild] public static void ChangeXcodePlist(BuildTarget buildTarget, string pathToBuiltProject) { if (buildTarget == BuildTarget.iOS) { // Get plist string plistPath = pathToBuiltProject + "/Info.plist"; PlistDocument plist = new PlistDocument(); plist.ReadFromString(File.ReadAllText(plistPath)); // Get root PlistElementDict rootDict = plist.root; // Add value of NSAppTransportSecurity in Xcode plist var atsKey = "NSAppTransportSecurity"; PlistElementDict dictTmp = rootDict.CreateDict( atsKey ); dictTmp.SetBoolean( "NSAllowsArbitraryLoads", true); // Write to file File.WriteAllText(plistPath, plist.WriteToString()); } } }
将该文件放入 Editor 目录下即可。
相关文章推荐
- unity3d利用sharesdk分享内容至微信、新浪微博、qq空间等国内主流社交平台(ios篇)
- Unity性能优化-总篇
- Unity5的uGUI中实现文字渐变效果(Gradient)
- Unity实现一个morpher/blendShape
- [shader]Unity3D地形
- 通过Scroll View实现简易背包的滑动效果
- win8.1 unity静默调用打印机
- unity 球体表面平均分割点
- unity 球体表面平均分割点
- unity基础概念
- unity3d脚本控制骨骼旋转
- Unity手游之路<十三>手游代码更新策略探讨
- Unity手游之路<十二>手游资源热更新策略探讨
- Unity手游之路<十一>资源打包Assetbundle
- Unity 行为树 Behavior Designer
- Unity下SpriteSheet 使用
- unity3d5.2.3中 调整视角
- Unity3d 手游之旅
- 【Unity3D ugui】UI特效的位置自适应及调整层次关系的一种解决方案
- UNITY 5.2 Camera类