我希望每12小时检查我的应用程序中的数据库,以查找具有相应日期的日期列行。这可以通过在Android中编写服务来完成。但是,在iOS中是否有与服务等效的内容,以便可以实现我的要求?
我希望每12小时检查我的应用程序中的数据库,以查找具有相应日期的日期列行。这可以通过在Android中编写服务来完成。但是,在iOS中是否有与服务等效的内容,以便可以实现我的要求?
不,SDK或iPhone/iPad系统里没有这样的东西。你只能编写会影响应用程序生态系统的代码,而不能影响操作系统。 当你的应用程序关闭后,除非用户重新打开它或者打开与您的应用程序相关的推送通知,否则不会有任何动作。
如果用户为您的应用程序批准了基于位置的服务,则有几种方法可以在完全关闭您的应用程序时运行短期后台进程。其中之一是使用监视基于形状的区域,这基本上意味着如果用户离开区域X/进入区域Y, 打开应用程序并在关闭之前运行几个命令。
在iOS中实现您想要的功能的聪明方法(也是我唯一能想到的方法)是在服务器上运行该服务,并在打开应用程序时从服务器提取数据。
iOS7及以上版本可以使用后台获取来完成此任务。 您可以查看这个教程: http://code.tutsplus.com/tutorials/ios-7-sdk-working-with-background-fetch--mobile-20520
iOS后台工作
现在,您可以使用Background fetch
、Background Processing Task
或URLSessionDownload/UploadTask
在应用程序处于后台时执行某些操作。
新增:苹果不允许应用程序一直在后台运行。它提供了一些有限的时间来完成您的应用程序执行。您可以根据执行需求增加该时间。但这并不推荐。