cocos creator:1.8.2-rc2
Xcode:9.2
用cocos creator创建一个hello world,构建项目选择Web Mobile,将整个Web Mobile文件夹拖到iOS工程中,然后用iOS的WKWebView加载index.html,真机运行,一直处于loading界面。
用iOS的UIWebView就可以正常加载。
请问有人遇到过,或者知道是什么情况吗?
补充信息
经过逐步追踪,发现调用轨迹如下(cocos2d-js-min.js中的代码我用调试模式构建出来的cocos2d-js.js中的代码覆盖了):
- main.js中cc.director.loadScene
- cocos2d-js-min.js中_loadSceneByUuid的cc.AssetLibrary.loadAsset
- cocos2d-js-min.js中AssetLibrary中loadAsset的Loader.load,回调直接返回“[AssetLibrary] loading JSON or dependencies failed:”
- cocos2d-js-min.js中 25595行:proto.load中 var queue = LoadingItems.create,
它的回调中发现它要加载一个不存在的json文件,导致场景加载失败
UIWebView
UIWebView *webView = [[UIWebView alloc]initWithFrame:self.view.bounds];
[self.view addSubview:webView];
NSString *path = [[NSBundle mainBundle]pathForResource:@"web-mobile/index" ofType:@"html"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];
WKWebView
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.bounds];
webView.navigationDelegate = self;
[self.view addSubview:webView];
NSString *accessPath = [[NSBundle mainBundle]pathForResource:@"web-mobile" ofType:nil];
NSString *path = [[NSBundle mainBundle] pathForResource:@"web-mobile/index" ofType:@"html"];
NSURL *accessUrl = [NSURL fileURLWithPath:accessPath];
NSURL *url = [NSURL fileURLWithPath:path];
[webView loadFileURL:url allowingReadAccessToURL:accessUrl];
demo:
testWKWebView.zip (2.3 MB)



