我在swiftui上制作了一个计时器应用程序,当我在模拟器上运行我的应用程序时,计时器可以正常工作并在后台运行。当我在手机上对其进行测试时,计时器会在应用程序进入后台时停止计时。另外,当我的应用在手机上进入后台时,也会显示此消息:
无法结束BackgroundTask:不存在标识符为1(0x1)的后台任务,或者它可能已经结束。中断UIApplicationEndBackgroundTaskError()进行调试。
答案 0 :(得分:0)
也许您可以尝试这种方式来运行某些东西并在后台线程上更改UI内容:
DispatchQueue.global(qos: .background).async {
print("Background Thread is running")
DispatchQueue.main.async {
print("You can change UI stuff here.")
label.text = "Done." //UIKit
self.myLabelTxt = "Done." //SwiftUI's string state variable
}
}
希望这会有所帮助!