6

Was ist dieser Fehler, den ich beim Erstellen einer URLBGTask in WatchOS4 auf dem Simulator erhalte?WKRefreshBackgroundTask cleanupStorage Fehler beim Versuch, die Datei zu erreichen

2017-09-28 16: 05: 26,452999 + 0900 MiFollowers WatchKit Erweiterung [4628: 4.012.814] [bg_app_refresh] - [WKRefreshBackgroundTask cleanupStorage] _block_invoke: 213: Fehler beim Versuch, Datei zu erreichen: /// Users/Ryuuzaki/Library /Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null): Fehlerdomäne = NSCOAErrorDomain Code = 260 "Die Datei" bktaskapp_ (null) "konnte nicht geöffnet werden, da es keine solche Datei gibt." UserInfo = {NSURL = Datei: /// Benutzer/ryuuzaki/Bibliothek/Entwickler/CoreSimulator/Geräte/2E4D6389-93B7-4542-B07F-9A02C720B9AF/Daten/Container/Daten/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Bibliothek/com.apple.watchkit/bktaskapp_ (null), NSFilePath =/Benutzer/ryuuzaki/Bibliothek/Entwickler/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/Daten/Container/Daten/PluginKitPlugin/FA4415DF-D984- 4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_ (null), NSUnderlyingError = 0x79b0e340 {Fehler Domain = NSPOSIXErrorDomain-Code = 2 "Keine solche Datei oder das Verzeichnis"}}

Jeder von euch helle Köpfe da draußen Wissen Sie, was das alles bedeutet?

+0

Können Sie dieses Problem lösen? – Dirk

+0

Noch nicht, bis jetzt habe ich Monate mit Apple Developer Support verbracht, seit ich für das Entwicklerkonto bezahlt habe, aber sie müssen noch eine direkte Antwort geben. –

Antwort

2

Ich bekam das auch. Hat mich in den letzten zwei Tagen verrückt gemacht.

Ich bin mir immer noch nicht sicher, ob es ein Fehler oder "Feature" ist, dass Sie die userInfo Eigenschaft benötigen. Dies geschieht, wenn Sie die Eigenschaft userInfo nicht von der Hintergrundaktualisierungsaufgabe in der handle(_ backgroundTasks)-Methode abrufen. Jeder Zugriff auf die Eigenschaft funktioniert. Eine einfache Problemumgehung, um den Fehler loszuwerden, besteht darin, die nächste Hintergrundaktualisierung in der handle-Methode mit backgroundTask.userInfo im userInfo:-Parameter zu planen, der nil nur der nächsten Aufgabe zuweist.

WKExtension.shared().scheduleBackgroundRefresh(withPreferredDate: refreshDate, userInfo: backgroundTask.userInfo) { (error) in 
    if let error = error { 
     print ("Background task error:\(error.localizedDescription)") 
    } 
} 

Natürlich ist dieses Problem zu umgehen bedeutet, dass Sie nicht in der Lage sein userInfo zu verwenden. Besserer Code könnte etwas darin sein, wie das Terminierungsdatum oder eine Kennung für die Aufgabe, oder ein Wörterbuch von [String:Any] für beide.

+0

Vielen Dank dafür. So ein bizarres Problem. Ich bin mir nicht sicher, ob es schaden könnte, aber ich bin dankbar, dass ich es beim Debuggen nicht mehr sehen muss. Die Art und Weise, wie ich das gemacht habe, ist einfach eine Variable auf Klassenebene mit dem Namen userInfoAccess zu erstellen, und dann einfach userInfoAccess = backgroundTask.userInfo in meiner Handle-Hintergrundaufgabenschleife auszuführen. Auf diese Weise kann ich immer noch die Hintergrundaktualisierung userInfo verwenden. – Marconelly

Verwandte Themen