Lịch trình iOS 13 Tác vụ nền iOS


8

Tôi đang triển khai Khung nền tảng để cập nhật dữ liệu. Nhưng tôi có vấn đề dưới đây

Could not schedule refreshApp: Error Domain=BGTaskSchedulerErrorDomain Code=1 "(null)"
Could not schedule data featch: Error Domain=BGTaskSchedulerErrorDomain Code=1 "(null)"
2019-10-01 19:19:32.550320+0530 SOBackgroundTask[34131:1129470] Can't end BackgroundTask: no background task exists with identifier 3 (0x3), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Câu trả lời:


16

Dưới đây là các mã lỗi có thể Domain=BGTaskSchedulerErrorDomainđược trích xuất từ ​​các tiêu đề ObjC với một số giải thích.

BGTaskSchedulerErrorCodeUnavailable = 1// Chức năng lập lịch tác vụ nền không khả dụng cho ứng dụng / tiện ích mở rộng này. Làm mới ứng dụng nền có thể đã bị tắt trong Cài đặt.

BGTaskSchedulerErrorCodeTooManyPendingTaskRequests = 2// Không thể gửi yêu cầu tác vụ vì có quá nhiều yêu cầu tác vụ đang chờ xử lý thuộc loại này. Hủy bỏ một số yêu cầu nhiệm vụ hiện có trước khi thử lại.

BGTaskSchedulerErrorCodeNotPermitted = 3 // Không thể gửi yêu cầu tác vụ vì chế độ nền phù hợp không được bao gồm trong mảng UIBackgroundModes hoặc định danh của nó không có trong mảng BGTaskSchedulerPermitedIdentifier trong Info.plist của ứng dụng.


12

Giải pháp là chạy trên thiết bị. Tôi đã chạy trên giả lập. Tuy nhiên, nó đang hiển thị Background App Refresh đã được bật trong Cài đặt trong khi chạy trên trình giả lập.


2

Tôi đã thử nghiệm trên thiết bị thực (iOS13.2 và iOS13.2.2), nhưng kết quả tương tự.

Lỗi Tên miền = BGTaskSchedulerErrorDomain Code = 2 "(null)" Không thể kết thúc BackgroundTask: không có tác vụ nền nào tồn tại với mã định danh 37 (0x25) hoặc có thể đã kết thúc. Phá vỡ UIApplicationEndBackgroundTaskError () để gỡ lỗi.

Lỗi Tên miền = BGTaskSchedulerErrorDomain Code = 1 "(null)" Không thể kết thúc BackgroundTask: không có tác vụ nền nào tồn tại với mã định danh 113 (0x71) hoặc có thể đã kết thúc. Phá vỡ UIApplicationEndBackgroundTaskError () để gỡ lỗi.

Dường như vẫn còn tồn tại lỗi.

https://forums.developer.apple.com/thread/121990


Khi tôi chạy lịch trình lệnh gỡ lỗi thành công nhưng tôi gặp lỗi tương tự (Mã 1) trên thiết bị thực khi lập lịch tác vụ. (iOS 13.2.3)
Teo

@Teo ý bạn là gì? thành công trên giả lập? và thất bại trên thiết bị thực?
dùng1462586

0

Vui lòng kiểm tra nếu bạn bỏ lỡ đăng ký BGTaskSchedulerPermittedIdentifierstrong tập tin info.plist của dự án của bạn.


0

Dành cho:

BGTaskSchedulerErrorDomain error 3

Kiểm tra bên trong .xcodeprojtập tin của dự án cho mục tiêu thích hợp. Sau đó, chuyển đến tab thông tin và Thuộc tính mục tiêu tùy chỉnh của iOS và kiểm tra xem số nhận dạng lịch trình tác vụ nền được phép ( BGTaskSchedulerPermittedIdentifiers) đã được thêm chưa.

Điều này giải quyết vấn đề của tôi khi thêm BackgroundTasksvào một dự án hiện có.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.