0

wkwebview と JavaScript ブリッジを使用して、共有拡張機能でファイルをアップロードする方法を実装しました。ブリッジはアップロードを処理し、一部が正常にアップロードされた場合、ファイルが完全にアップロードされるまで、ファイルの次の部分を開始します。これは完全に機能しますが、このタスクをバックグラウンドで実行したいので、ユーザーはアップロード中に共有拡張ウィンドウ内で待機する必要がありません。このようなバックグラウンド アップロードを実現するにはどうすればよいですか?

Javascript ブリッジ スウィフト側:

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")
        }
    }

}
4

1 に答える 1