2017-09-28 15 views
6

Lỗi này tôi nhận được khi tạo URLBGTask trong WatchOS4 trên Trình mô phỏng?WKRefreshBackgroundTask cleanupStorage Lỗi khi cố truy cập tệp

2017-09-28 16: 05: 26,452999 + 0900 MiFollowers WatchKit mở rộng [4628: 4.012.814] [bg_app_refresh] - [WKRefreshBackgroundTask cleanupStorage] _block_invoke: 213: Lỗi cố gắng để đạt được file: /// Users/Ryuuzaki/Thư viện /Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Data/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_(null): Miền lỗi = NSCocoaErrorDomain Code = 260 "Không thể mở tệp“ bktaskapp_ (null) ”vì không có tệp như vậy." UserInfo = {NSURL = file: /// Người dùng/ryuuzaki/Library/Developer/CoreSimulator/Devices/2E4D6389-93B7-4542-B07F-9A02C720B9AF/data/Containers/Dữ liệu/PluginKitPlugin/FA4415DF-D984-4394-80B9-EDA199AB587E/Thư viện/com.apple.watchkit/bktaskapp_ (null), NSFilePath =/Người dùng/ryuuzaki/Thư viện/Nhà phát triển/CoreSimulator/Thiết bị/2E4D6389-93B7-4542-B07F-9A02C720B9AF/dữ liệu/Vùng chứa/Dữ liệu/PluginKitPlugin/FA4415DF-D984- 4394-80B9-EDA199AB587E/Library/com.apple.watchkit/bktaskapp_ (null), NSUnderlyingError = 0x79b0e340 {Lỗi miền = NSPOSIXErrorDomain Mã = 2 "Không có tập tin hoặc thư mục"}}

óc Bất kỳ của bạn tươi sáng ngoài kia biết tất cả những điều này có nghĩa là gì?

+0

Bạn có thể giải quyết vấn đề này không? – Dirk

+0

Chưa, cho đến bây giờ, tôi đã dành nhiều tháng với sự hỗ trợ của nhà phát triển Apple kể từ khi tôi đã trả tiền cho tài khoản nhà phát triển, nhưng họ vẫn chưa cung cấp một câu trả lời thẳng. –

Trả lời

2

Tôi cũng đã nhận được điều này. Thả hạt cho tôi trong hai ngày qua.

Tôi vẫn không chắc liệu đó là lỗi hay "tính năng" để yêu cầu bạn sử dụng thuộc tính userInfo. Điều này xảy ra nếu bạn không nhận được thuộc tính userInfo từ tác vụ làm mới nền trong phương thức handle(_ backgroundTasks). Bất kỳ quyền truy cập nào của tài sản đều hoạt động. Một cách giải quyết đơn giản để loại bỏ lỗi là lập lịch làm mới nền tiếp theo của bạn theo phương pháp handle với backgroundTask.userInfo trong thông số userInfo: chỉ tiếp tục gán nil cho tác vụ tiếp theo.

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

Tất nhiên, giải pháp này có nghĩa là bạn sẽ không thể sử dụng userInfo. Mã tốt hơn có thể là gắn một thứ gì đó vào đó chẳng hạn như ngày lập lịch hoặc số nhận dạng cho tác vụ hoặc từ điển của [String:Any] cho cả hai.

+0

Cảm ơn bạn vì điều này. Một vấn đề kỳ quái như vậy. Tôi không chắc liệu nó có gây hại gì không, nhưng tôi biết ơn vì tôi không phải nhìn thấy nó nữa khi gỡ lỗi. Cách tôi đã đi về nó chỉ đơn giản là tạo ra một biến cấp lớp gọi là userInfoAccess, và sau đó chỉ cần làm userInfoAccess = backgroundTask.userInfo trong vòng xử lý nhiệm vụ nền xử lý của tôi. Bằng cách này tôi vẫn có thể sử dụng userInfo làm mới nền. – Marconelly

Các vấn đề liên quan