Тихая неудача при планировании фоновой задачиIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Тихая неудача при планировании фоновой задачи

Сообщение Anonymous »

Я работаю над добавлением некоторой обработки фоновой. Следующие результаты: < /p>
  • Ничто не терпит неудачу или бросает во время настройки < /li>
    Задача не выполняет < /li> Список ожидающих задач пуст. Добавлена ​​возможность обработки фоновой обработки

    Код: Выделить всё

    beginBackgroundMonitoring()
    вызывается во время запуска приложения
  • Протестируется исключительно на реальном устройстве
  • Пробовал запустить e -l objc -(void) [[[[[[[[void) [[[[void) [[void) [[void) Bgtaskscheduler sharedscheduler] _simulatelaunchfortaskwithedifier:@"com.myapp.task"] , что также не запускает его

Код: Выделить всё

UIBackgroundModes

processing

BGTaskSchedulerPermittedIdentifiers

com.myApp.task

< /code>
Я вижу следующее в журналах: < /p>
🫥 Beginning background monitoring
🫥 Background monitoring setup complete
🫥 Submitting new background task for execution after 60.0 seconds
🫥 Request  submitted successfully
🫥 Pending task requests: 0 []
< /code>
из следующего кода: < /p>

extension AlarmViewModel {
#if DEBUG
private static let minRefreshInterval: TimeInterval = 60
#else
private static let minRefreshInterval: TimeInterval = 60 * 60
#endif
private static let taskIdentifier = "com.myApp.task"
private static let tzIdDefaultsKey = "lastTimezoneIdentifier"
func beginBackgroundMonitoring() {
print("🫥 Beginning background monitoring")

let success = BGTaskScheduler.shared.register(forTaskWithIdentifier: Self.taskIdentifier, using: .global(qos: .background)) { [weak self] task in
print("🫥 Handling background task")

guard let task2 = task as? BGAppRefreshTask else {
print("🫥 Could not cast task to BGAppRefreshTask")
return
}
task2.expirationHandler = {
print("🫥 Expiration handler called")
}
self?.handleBackgroundTask(task: task2)
}
guard success else {
print("🫥 Failed to register for background task")
return
}

print("🫥 Background monitoring setup complete")

submitNewBackgroundTask(after: Self.minRefreshInterval)

BGTaskScheduler.shared.getPendingTaskRequests { requests in
print("🫥 Pending task requests: \(requests.count) \(requests)")
}
}

func submitNewBackgroundTask(after: TimeInterval) {
print("🫥 Submitting new background task for execution after \(after) seconds")
let request = BGAppRefreshTaskRequest(identifier: Self.taskIdentifier)
request.earliestBeginDate = Date(timeIntervalSinceNow: after)
do {
try BGTaskScheduler.shared.submit(request)
print("🫥 Request \(request) submitted successfully")
} catch {
print("🫥 Error submitting background task request: \(error)")
}
}

...
Любая помощь дальнейшая отладка или понимание того, почему фоновая задача не выполняется, будет очень оценена.

Подробнее здесь: https://stackoverflow.com/questions/794 ... round-task
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тихая неудача при планировании фоновой задачи
    Anonymous » » в форуме IOS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как избежать циклических ссылок при планировании классов Java?
    Anonymous » » в форуме JAVA
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Тихая печать, отличающаяся от командной строки Shell_exec и ручной командной строки
    Anonymous » » в форуме Php
    0 Ответы
    90 Просмотры
    Последнее сообщение Anonymous
  • Тихая печать PDF-файла в Python
    Гость » » в форуме Python
    0 Ответы
    51 Просмотры
    Последнее сообщение Гость
  • Обход диалогового окна или тихая печать
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»