我正在调用API来获取数据并根据API的响应显示本地推送,因此我正在使用background fetch
及更高版本中介绍的Apple的iOS 13
服务。
但是当尝试在模拟器中测试此方案时,它工作正常,但是当我在真实设备中检查此应用程序时,它无法正常工作,并且在尝试在后台调用api时失去了连接。
我不是从设备上杀死我的应用程序,只需单击主页按钮即可将其撤消。
我不确定为什么它不能在真实设备中运行。
我到目前为止所做的。步骤在这里:
我已从应用程序项目的功能启用后台获取。
然后我将此代码添加到AppDelegate
extension AppDelegate {
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
print("Bg Fetch from App Delegate 1")
DispatchQueue.main.asyncAfter(deadline: .now() + 3.0) {
BroadCastManager.sharedInstance.fetchNewDataWithCompletionHandler(completionHandler: completionHandler)
}
}
}
这将从服务类中调用一种方法,其中将调用一个API,然后根据响应api触发一次本地推送。
所以这里的问题是,当在真实设备中调用API且应用程序在后台运行时,我将遇到错误。
错误屏幕截图。
答案 0 :(得分:0)
您拥有的代码是iOS12及更低版本。尝试新的过程。我在这里举了一个例子(我的应用的工作代码):