我正在尝试让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")
}
}我还有一个文件夹www在我的Xcode项目的根目录下
当服务器启动时,它在控制台中显示服务器地址是192.168.1.2:8080。但是当我试图在浏览器中打开这个网址时,我在控制台上看不到index.html、黑屏和404。
我做错了什么?
发布于 2016-02-01 07:01:19
您需要将目录的完整路径传递给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))
}希望能有所帮助
发布于 2015-10-04 22:49:30
在初始化时,您需要将路径传递给要提供服务的目录,而不是将索引文件传递给GCDWebServer。
https://stackoverflow.com/questions/32934446
复制相似问题