Description
App does not trigger the callbackDispatcher method on a real iOS device. However, the task works as expected on the iOS simulator.
Steps to Reproduce:
1. Schedule the task with a repeat interval (e.g., 15 min).
2.Deploy the app to a real iOS device and wait for the periodic task to trigger.
3.The task not trigger callbackDispatcher on the real device.
Test Methods:
- Waited more than an hour to see if the task triggers on the real device.
- Used Xcode's Debug -> Simulate background fetch to manually trigger the task.
Results:
- The task triggers and executes callbackDispatcher as expected on the iOS simulator.
- The task does not trigger at all on the real device, even after waiting or simulating a background fetch in Xcode.
Expected Behavior
- The periodic task should trigger the callbackDispatcher method both on the iOS simulator and real devices.
Flutter version: 3.24.3
WorkManager version:
git: url: https://github.com/fluttercommunity/flutter_workmanager.git
ref: b783000
iOS version: 17.5.1
Device: 11 Pro Max
Activity
arun-gautham commentedon Nov 26, 2024
did this work, ?
rapkatt commentedon Dec 2, 2024
@arun-gautham
Yes, it's work. I solved my problem with restarting the device
claudiulazar commentedon Dec 28, 2024
I did exactly what @rapkatt showed in the first comment and the periodic task is not triggered at all ...
@rapkatt does it still work for you with the latest iOS?
@arun-gautham did you manage to make it work for your part?
xunreal75 commentedon Dec 28, 2024
Please read apples documentation about background tasks. There is no BG-scheduler in iOS which safely starts your preferred update task . It's an normal apple behavior.
https://developer.apple.com/documentation/uikit/using-background-tasks-to-update-your-app
arun-gautham commentedon Dec 30, 2024
Yes I got it to work perfectly fine
jawad111 commentedon Dec 30, 2024
did you get callbackDispatcher to work with Workmanager().registerPeriodicTask ? how?
arun-gautham commentedon Dec 31, 2024
Note the key "offcloud-file-upload" , update it as per your app
info plist:
Appdeletegate.swift
override func application(
flutter
ctenhank commentedon Jan 2, 2025
@arun-gautham
Your example is OneOffTask, not PeriodicTask.
Are you sure that you did test using "PeriodicTask"?
arun-gautham commentedon Jan 2, 2025
Actually no , I did a cron that kicks off a one off task. and as this did serve my purpose,
How ever I can give the periodic task a try as well in couple of days.
jawad111 commentedon Jan 2, 2025
@rapkatt and @arun-gautham, are you both bots or something? 😄
@rapkatt: Honestly, I tried restarting five different devices with exact same setup, and it still didn't work, even on the emulators and after multiple restarts.
@arun-gautham: You keep mentioning it works without pointing out that you are referring to OneOffTask, but you're missing the crucial point that this entire discussion is based on Periodic Tasks. This is very misleading.
ctenhank commentedon Jan 3, 2025
@jawad111
I think, he did test using "cron" and "workmanager" as mentioned.
(cron is for a repeat, and workmanager is for a background execution)
But, the "cron" may not work in background: agilord/cron#48 (comment).
Luqmanasif6 commentedon Jan 16, 2025
Hi @jawad111 ,
I hope you're doing well. I’ve been exploring ways to run background tasks on iOS but haven’t had success so far despite trying several methods. Could you kindly provide some guidance or suggest any alternative approaches? I’d really appreciate your help.
Thanks in advance!
dipin111 commentedon Jan 24, 2025
For me it is not working even on simulator, the oneOffTask runs but the periodic ones are not.
jawad111 commentedon Feb 23, 2025
Hi @Luqmanasif6
I apologize for the delayed response. Please take a look at this Gem article, which includes working code. It provides more in-depth information than Apple’s documentation.
Best practice: iOS background processing - Background App Refresh Task
MincDev commentedon Jun 3, 2025
This still seems to be a problem. Either the documentation does not clearly explain what should be done to trigger this background fetch or the functionality is broken. Can we please get some assistance on this?
1 remaining item