スクリプトの読み込みのファサードとして機能するクラスを作成しています。このクラスは、ディスク上の HTML&JS ファイルをロードしたヘッドレス UIWebView と対話します。
現在、単体テスト環境ですべての実行を行っていますが、UIWebView が何もロードを拒否しているようです。私のコードは次のようになります。
WebView 初期化
self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,0,0)];
self.webView.delegate = self;
[self loadScriptingCore];
スクリプトローダー:
- (void)loadScriptingCore
{
NSURLRequest *loadRequest = [NSURLRequest requestWithURL:[self scriptingCoreIndex]];
[self.webView loadRequest:loadRequest];
NSLog([self inspectDom]);
}
- (NSURL *) scriptingCoreIndex
{
NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"scripting-core" ofType:@"html" inDirectory:@"www"];
NSLog([NSString stringWithFormat:@"Scripting Core Index: %@", indexPath]);
return [NSURL fileURLWithPath:indexPath];
}
- (NSString *)inspectDom
{
return [self.webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.outerHTML;"];
}
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Scripting Core</title>
</head>
<body>
<div id="element">
Hello
</div>
</body>
</html>
inspectDom メソッドはこれまでにのみ返します
<html><head></head><body></body></html>
これは、webView に何も起こらないことを示しています。さらに、デリゲート メソッドは、webViewDidStartLoad、webViewDidFinishLoad、および webViewDidFailLoad が起動していないように見えます。
任意の提案をいただければ幸いです
ありがとう!