【发布时间】:2015-02-05 13:41:47
【问题描述】:
我实现了一种使用 wkwebview 和 javascript 桥在共享扩展中上传文件的方法。桥处理上传,如果一个部分成功上传,它开始文件的下一部分,直到文件完全上传。 这非常有效,但我想在后台执行此任务,以便用户在上传期间不必在共享扩展窗口内等待。 如何实现这样的后台上传?
Javascript Bridge Swift 端:
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
if let messageBody:NSDictionary = message.body as? NSDictionary {
let key:String = messageBody["key"] as String
switch key {
case "startUpload":
fileUploader!.fileProductInstanceId = messageBody["fileProductInstanceId"] as? Int
fileUploader!.contextId = messageBody["contextId"] as? Int
fileUploader!.directoryId = messageBody["directoryId"] as? Int
fileUploader!.initUpload()
case "getNextFilePart":
fileUploader!.sendData()
case "fileUploadFinished":
self.myWebView!.evaluateJavaScript("App.UploadNextFile(\(fileUploader!.contextId!),\(fileUploader!.directoryId!))",
completionHandler: nil)
default:
println("unknown command")
}
}
}
【问题讨论】:
标签: javascript ios swift ios8 ios8-share-extension