2017-09-28 59 views
6

Simulasyonda WatchOS4'te bir URLBGTask yaparken bu hatayı alıyorum?WKRefreshBackgroundTask cleanupStorage Dosyaya ulaşma hatası

2017-09-28 16: 05: 26,452999 + 0900 MiFollowers WatchKit Uzatma [4628: 4.012.814] [bg_app_refresh] - [WKRefreshBackgroundTask cleanupStorage] _block_invoke: 213: Hata dosyası ulaşmaya çalışan: /// Users/Ryuuzaki/Kütüphane /Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null): Hata Etki Alanı = NSCocoaErrorDomain Code = 260 "Böyle bir dosya olmadığı için" bktaskapp_ (null) "dosyası açılamadı." UserInfo = {NSURL = file: /// Users/Ryuuzaki/Library/Geliştirici/CoreSimulator/Cihazlar/2E4D6389-93B7-4542-B07F-9A02C720B9AF/veri/Kapları/Veri/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_ (null), NSFilePath =/Kullanıcılar/ryuuzaki/Kitaplık/Geliştirici/CoreSimulator/Aygıtlar/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984- 4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_ (null), NSUnderlyingError = 0x79b0e340 {Hata Alan = NSPOSIXErrorDomain Kod = 2 "böyle bir dosya ya da dizin"} orada}

Herhangi biriniz parlak zihinleri Tüm bunların ne anlama geldiğini biliyor musunuz?

+0

Bu sorunu çözebilir misiniz? – Dirk

+0

Henüz değil, şimdiye kadar, Geliştirici Hesabı için ödeme yaptığımdan bu yana Apple Geliştirici Desteği ile aylar harcadım, ancak henüz doğru bir cevap vermediler. –

cevap

2

Bunu ben de alıyordum. Son iki gündür beni deli ettin.

userInfo özelliğinin kullanılmasını gerektiren bir hata veya "özellik" olup olmadığından emin değilim. Bu, yönteminde arka plan yenileme görevinden userInfo özelliği almazsanız oluyor. Mülkün herhangi bir girişi çalışır. Hatadan kurtulmak için basit bir geçici çözüm, userInfo: parametresindeki parametresindeki handle10 yönteminde bir sonraki arka plan yenilemeyi bir sonraki göre nil atama işlemini bir sonraki göre gerçekleştirmektir. Tabii

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

bu geçici çözüm userInfo kullanmak mümkün olmayacaktır demektir. Daha iyi kod, orada zamanlama tarihi veya görev için bir tanımlayıcı veya her ikisi için de [String:Any] sözlüğü gibi bir şey yapıştırmak olabilir.

+0

Bunun için teşekkürler. Böyle tuhaf bir problem. Zarar verip vermediğinden emin değilim, ama şükürler olsun, hata ayıklama yaparken artık onu görmek zorunda değilim. Bu konuda gittiğim yol sadece userInfoAccess adında bir sınıf düzeyi değişkeni oluşturuyor ve sonra da yalnızca arka plan görevleri döngüsünde userInfoAccess = backgroundTask.userInfo yapıyor. Bu şekilde arka plan yenilemeyi userInfo kullanmaya devam edebilirim. – Marconelly