Can't endBackgroundTask: no background task exists with identifier, or it may have already been ended

raj picture raj · May 27, 2014 · Viewed 65.7k times · Source

I am using background task to run the timer in the background to update the user's location. It's declared as:

UIBackgroundTaskIdentifier bgTask;

in the header file, and initialized as:

bgTask = UIBackgroundTaskInvalid;

But still, I am getting this message in the gdb:

Can't endBackgroundTask: no background task exists with identifier 23dc, or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Why? And how can I solve this?

Answer

Francesco Ceravolo picture Francesco Ceravolo · Oct 13, 2019

I lose many days looking for the piece of code or framework that was causing this warning in the debug console Can't end BackgroundTask: no background task exists with identifier 2 (0x2), or it may have already been ended. Break in UIApplicationEndBackgroundTaskError() to debug.

Finally I've created an empty project Single View App. Only code generated by Xcode, I run the app on simulator, put it in background and I see the same warning. So I can say it's an iOS 13 issue. I hope Apple will fix it quickly because in Crashlytics I found some crash in my app caused by it.