2017-02-04 3 views
0

Ich bin auf der Suche nach der Watchkit-Erweiterung, um eine Datei aus iCloud Dokumentenspeicher zu lesen. Ich habe die Datei aus der iOS App geschrieben, die sie auch lesen kann. Ich nutze eine gemeinsame Klasse, so dass der Code derselbe ist. Das Problem ist, dass auf der Uhr die URL für den Cloud-Container null zurückgibt.Watchkit-Erweiterung kann nicht von iCloud lesen

static func readFromFile(fileName:String) -> String? 
{ 
    let fileManager = FileManager.default 
    var cloudURL = fileManager.url(forUbiquityContainerIdentifier: nil) 

    cloudURL = cloudURL?.appendingPathComponent("Documents/\(fileName)") 

    do 
    { 
     return try String(contentsOf: cloudURL!) 
    } catch { 
     print (error) 
     return nil 
    } 

Im obigen Fall ist cloudURL Null auf der Uhr, aber nicht das Telefon. Für die habe ich überprüft, dass die gleiche Kennung für beide Uhren und Telefone verwendet wird. Ich habe auch versucht, den Namen direkt einzugeben, anstatt nil zu verwenden und ihn aus den Berechtigungen herauszunehmen. Das Format des Behälters:

iCloud.com.company.app 

Es ist mein Verständnis, dass beobachten OS 3 soll der Lage sein, iCloud zu verwenden.

Update:

Ich druckte let token = fileManager.ubiquityIdentityToken und ich folgendes:

WatchKit Erweiterung [390: 687462] [Standard] [ERROR] Fehler beim Abrufen ubiquityIdentityToken: Fehler Domain = NSCocoaErrorDomain-Code = 4099 "Die Verbindung zum Dienst namens com.apple.bird.token wurde ungültig gemacht." Userinfo = {NSDebugDescription = Die Verbindung com.apple.bird.token für ungültig erklärt wurde benannt Service.}

Antwort

0

ich offiziell zurück von Apple gehört haben, dass diese Funktion von Watch OS nicht unterstützt wird. Das läuft ihrer eigenen Dokumentation zuwider, von der ich sie informiert habe. Hoffentlich sehen andere diese Antwort und es kann eine Menge Zeit sparen, die ich verschwendete.

Verwandte Themen