Ios 使应用程序在后台执行功能
我希望我的应用程序在手机被锁定时按固定时间间隔执行功能,以便在需要时显示通知 我知道我应该使用Ios 使应用程序在后台执行功能,ios,swift,background,notifications,Ios,Swift,Background,Notifications,我希望我的应用程序在手机被锁定时按固定时间间隔执行功能,以便在需要时显示通知 我知道我应该使用UIApplication.shared.setMinimumBackgroundFetchInterval作为时间间隔,所以我在AppDelegate的didfishlaunchingwithoptions函数中设置它。后台模式也在myinfo.plist中设置 我将我的refreshData功能放在AppDelegate的performFetchWithCompletionHandler中,当我在手
UIApplication.shared.setMinimumBackgroundFetchInterval
作为时间间隔,所以我在AppDelegate
的didfishlaunchingwithoptions
函数中设置它。后台模式也在myinfo.plist
中设置
我将我的refreshData
功能放在AppDelegate
的performFetchWithCompletionHandler
中,当我在手机上加载应用程序时,使用模拟后台提取
调试控件时,一切都运行得很好,但当我把手机放在一边时,一切都不会自行发生
我猜在我设置的时间间隔内,performFetchWithCompletionHandler
不会自动调用。我如何确保它按计划每60秒运行一次?你不能。iOS决定何时和多久在后台调用你的应用程序,而不是你。你可以简单地要求时间,并期待最好的结果。如果用户经常使用你的应用程序,那么操作系统会给你更多的后台时间
如果您想要更多,您可以从外部服务器向设备发送APN,这将唤醒应用程序并给您一些处理时间
详细介绍您的选项。非常感谢David。这是否意味着我的方法是好的?你知道Tinder这样的应用程序在这种情况下如何发送新消息和匹配的通知吗?应用程序不是在后台工作,然后显示新事件吗?它们正在使用远程APNS通知。Tinder服务器正在向设备发送APNS,这会导致通知。应用甚至不需要运行就可以显示APNS。嗨,大卫!如果我正确阅读了文档,我需要的是向设备发送推送通知以启动下载,然后根据下载和分析返回的数据显示通知是否正确?是否可以将服务器设置为定期发送此类通知?是的@Martin33000服务器可以按照自己的意愿尽快发送通知。只处理最后收到的通知,但如果您的目标只是获取后台时间,则可以定期发送通知。