ios中长时间运行的后台任务

ios中长时间运行的后台任务,ios,iphone,service,Ios,Iphone,Service,在我的android应用程序中,我使用一个后台服务,每2分钟检查一次本地数据库,如果发现一些未同步的数据,它会尝试将其同步到服务器。现在我想在ios中实现同样的功能,所以我想知道ios中是否有与android服务相当的功能。不,没有与服务相当的ios功能。但是,您尝试的操作可以通过后台模式实现。具体来说,获取后台模式 要启用后台模式,请转到项目设置->功能->后台模式并启用后台提取 那么,您的UIApplicationLegate实现功能是什么 // Swift func application

在我的android应用程序中,我使用一个后台服务,每2分钟检查一次本地数据库,如果发现一些未同步的数据,它会尝试将其同步到服务器。现在我想在ios中实现同样的功能,所以我想知道ios中是否有与android服务相当的功能。

不,没有与服务相当的ios功能。但是,您尝试的操作可以通过后台模式实现。具体来说,获取后台模式

要启用后台模式,请转到项目设置->功能->后台模式并启用后台提取

那么,您的UIApplicationLegate实现功能是什么

// Swift
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)  

// Objective-C
- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
依照

当出现好机会时,系统将唤醒或启动您的应用程序到后台,并调用应用程序代理的应用程序:performFetchWithCompletionHandler:方法。使用该方法检查新内容,并在内容可用时启动下载操作。下载完新内容后,必须执行提供的完成处理程序块,并传递一个指示内容是否可用的结果。执行此块告诉系统,它可以将应用程序移回挂起状态并评估其功耗。快速下载少量内容并准确反映其可下载内容时间的应用程序,比需要很长时间下载其内容或声称内容可用但不下载任何内容的应用程序更可能在未来收到执行时间


使用后台模式,您的应用程序将被唤醒或启动以执行任务,即使它已被关闭或设备已重新启动,但用户强制退出应用程序的情况除外。

感谢您的回复,我将研究实施情况。