hello I have an app in webkit, the app works well when it is in the foreground but in the background javascript completes its task and does not know how to start another one?
I found this code, and with this it works, but the app is blocked, when I bring it back to the foreground, it does not stop for the while, who knows how to stop the while when the app comes back to the foreground? Thank you
func applicationDidEnterBackground(_ application: UIApplication) { | |
var finished = false | |
var bgTask: UIBackgroundTaskIdentifier = UIBackgroundTaskIdentifier(rawValue: 0); | |
bgTask = application.beginBackgroundTask(withName:"MyBackgroundTask", expirationHandler: {() -> Void in | |
// Time is up. | |
if bgTask != UIBackgroundTaskIdentifier.invalid { | |
// Do something to stop our background task or the app will be killed | |
finished = true | |
} | |
}) | |
// Perform your background task here | |
print("The task has started") | |
while !finished { | |
print("Not finished") | |
// when done, set finished to true | |
// If that doesn't happen in time, the expiration handler will do it for us | |
} | |
// Indicate that it is complete | |
application.endBackgroundTask(bgTask) | |
if bgTask != UIBackgroundTaskIdentifier.invalid { | |
// Do something to stop our background task or the app will be killed | |
bgTask = UIBackgroundTaskIdentifier.invalid | |
finished = true | |
} | |
} |