本文主要是介绍Unity3D读取AssetBundle失败:The file can not be loaded,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天项目换了台新mini打iOS版本的ab包,真机上出现资源读取失败并有如下报错
The file can not be loaded because it was created for another build target that is not compatible with this platform. Please make sure to build AssetBundles using the build target platform that it is used by. File's Build target is: 13
查了下BuildTarget的枚举值,13的是Android,iOS的是9。
明明打的是iOS,怎么会是Android呢?
确认下BuildSetting里的Platform设置无误后,再重新打了一次,还是失败!!!
经查阅资料,发现Unity有时候会缓存上次打包时的平台设置(应该是引擎的Bug,我的是2017版本),本着试一试的心态,在打包代码前面添加如下代码:
Debug.Log("当前打包平台" + EditorUserBuildSettings.activeBuildTarget)
if(EditorUserBuildSettings.activeBuildTarget != BuildTarget.iOS)
{Debug.Error("打包平台设置错误");return;
}
这段代码主要在于调用一次EditorUserBuildSettings.activeBuildTarget,刷新当前的平台设置。
重新打包,搞定!!!
参考链接:
https://stackoverflow.com/questions/38437310/asset-bundle-is-not-loaded#
这篇关于Unity3D读取AssetBundle失败:The file can not be loaded的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!