2016-11-02 2 views
0

J'essaye d'envoyer un fichier de données d'Apple Watch à un iPhone couplé via WatchConnectivity. Mon code est le suivant:aucun fichier dans la file d'attente de transfert via WatchConnectivity et 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!") 

Bien que j'ai reçu le message que « fichier créé @ ... », le message suivant par la dernière ligne « print » est toujours « 0 fichiers dans la file d'attente de transfert! » Je n'ai trouvé aucun objet qui a échoué à démarrer ou à ne pas démarrer tout au long du processus. Il semble simplement que le fichier a été créé mais la fonction "session.transferFile" n'a tout simplement pas fonctionné.

Quelqu'un peut-il m'aider sur quelques indications concernant où le problème est et comment le résoudre?

Merci à tous!

Paul

Répondre

0

Essayez de changer les deux dernières lignes:

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

Toute différence?