gpt4 book ai didi

swift - Swift 上的 GCDWebServer 静态网站

转载 作者:搜寻专家 更新时间:2023-10-31 22:14:48 26 4
gpt4 key购买 nike

我正在尝试让 GCDWebServer 显示静态内容。我有代码

import UIKit
import Foundation

class ViewController: UIViewController {

var webServer:GCDWebServer?

let urlpath = NSBundle.mainBundle().pathForResource("index", ofType: "html", inDirectory: "www")

override func viewDidLoad() {
super.viewDidLoad()

initWebServer()

}

func initWebServer() {

webServer = GCDWebServer()

webServer!.addGETHandlerForBasePath("/", directoryPath: urlpath, indexFilename: "index.html", cacheAge: 3600, allowRangeRequests: true)

webServer!.startWithPort(8080, bonjourName: "GCD Web Server")

print("Visit \(webServer!.serverURL) in your web browser")
}
}

我的 Xcode 项目的根目录中也有文件夹 www

当服务器启动时,它在控制台中显示服务器地址是 192.168.1.2:8080。但是当我尝试在浏览器中打开该 url 时,我在控制台中看不到 index.html、黑屏和 404。

我做错了什么?

最佳答案

您需要将目录的完整路径传递给directoryPath,请看下面我的代码示例:

private func loadDefaultIndexFile() {
let mainBundle = NSBundle.mainBundle()
let folderPath = mainBundle.pathForResource("www", ofType: nil)
print("HTML base folder Path: \(folderPath)")
self.gcdWebServer.addGETHandlerForBasePath("/", directoryPath: folderPath, indexFilename: "index.html", cacheAge: 0, allowRangeRequests: true)
self.gcdWebServer.startWithPort(8080, bonjourName: nil)
self.webView.loadRequest(NSURLRequest(URL: self.gcdWebServer.serverURL))
}

希望对你有帮助

关于swift - Swift 上的 GCDWebServer 静态网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32934446/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com