1

GCDWebServer が動作するのと同じデバイスからアクセスするために、GCDWebServer を実行しようとしました。

次のコードがあります

import UIKit
import Foundation
import WebKit

class ViewController: UIViewController, WKNavigationDelegate {

    var webServer: GCDWebServer?
    var webView: WKWebView?

    let urlpath : NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true).first!

    override func viewDidLoad() {
        super.viewDidLoad()

        webView = WKWebView(frame: CGRectMake(0, 0, 300, 300))
        webView?.navigationDelegate = self
        view.addSubview(webView!)

        initWebServer()

        let urlString:String = "\(webServer!.serverURL)index.html"
        let url = NSURL(string: urlString)!

        webView!.loadRequest(NSURLRequest(URL: url))
    }

 func initWebServer() {

        webServer = GCDWebServer()
        webServer!.addGETHandlerForBasePath("/", directoryPath: urlpath as String, indexFilename: "index.html", cacheAge: 3600, allowRangeRequests: true)
        webServer!.startWithPort(8080, bonjourName: "GCD Web Server")
        print("Visit \(webServer!.serverURL) in your web browser")
    }

コンソールには次の出力があります

ここに画像の説明を入力

それを機能させる方法は?

4

1 に答える 1

0

ログは、HTTP 要求が無効であることを示しているため、500 エラーです。

に渡された URL-loadRequestが有効であることを確認してください (たとえば、/index.htmlに欠落している可能性があります)。

于 2015-10-12T16:47:43.587 に答える