2016-11-02 10 views
0

Apple WatchからWatchConnectivityを介してペアになったiPhoneにデータファイルを送信しようとしています。私のコードは次のとおりです。WatchConnectivityとWCSessionを通じて転送キューにファイルがありません

let data = try? JSONSerialization.data(withJSONObject: self.storedData, options : .prettyPrinted) 

    let str = String(data: data!, encoding: String.Encoding.utf8) 
    print(str) 

    var fileName = "" 
    let tempDirectory = NSTemporaryDirectory() 
    fileName = tempDirectory + "test.json" 

    if self.fileManager.createFile(atPath: fileName, contents: data 
     , attributes: nil) { 
     print("New file creation went through!") 
    } 

    if self.fileManager.fileExists(atPath: fileName) { 
     print("File created @ \(fileName)") 
    } else { 
     print("Something wrong when creating file @ \(fileName)") 
    } 

    var fileTransferString = "file://" 
    fileTransferString += fileName 

    let url = URL(string: fileTransferString) 
    self.session.transferFile(url!, metadata: nil) 
    print("\(self.session.outstandingFileTransfers.count) files in the transfer queue!") 

私はというメッセージだが、「ファイルが作成さを@ ...」、最後の行「印刷」することによって、次のメッセージが常に「転送キュー中0ファイルが!」私は、プロセス中に何も起きることができなかったか、何も見つからなかった。単にファイルが作成されたようですが、 "session.transferFile"関数が実行されませんでした。

誰かが、問題の原因とその解決方法に関するヒントを教えてもらえますか?

ありがとうございました!

ポール

答えて

0

に最後の2行を変更してみてください:

self.session.transferFile(url!, metadata: nil) 
DispatchQueue.global(attributes: .qosUserInitiated).async { 
    print("\(self.session.outstandingFileTransfers.count) files in the transfer queue!") 
} 

任意の違いは?

関連する問題