iOS:让应用程序在后台运行
如何让我的应用程序在后台运行? 我需要越狱我的iPhone才能做到这一点吗?我只需要这个应用程序来检查互联网上的每一个设定的时间间隔,并在需要时通知我自己使用。iOS:让应用程序在后台运行
是的,不需要越狱。从Apple查看本文档的“实现长时间运行的后台任务”部分。
从苹果的doc: 声明您的应用支持后台任务
支持某些类型的后台执行的,必须事先通过使用它们的应用程序中声明。应用程序使用Info.plist文件声明对服务的支持。将UIBackgroundModes键添加到Info.plist文件中,并将其值设置为包含以下一个或多个字符串的数组:(请参阅上述链接中的Apple文档。)
此方法是否可以24 x 7工作 - 永久? – takrishna
@takrishna,如果你正在编写这个应用程序供你自己使用,然后设置UIBackgroundModes值“voip”(IP语音)。这是最简单的应用程序类型,永久保存在后台。 (但不要将它提交给应用程序商店,除非它真的是VOIP应用程序。) – ToolmakerSteve
对于应用程序商店应用程序,如果您没有服务器来定期向您的手机发送“远程通知”,则您唯一的其他选项是“后台抓取”。 http://*.com/a/37311611/199364 – ToolmakerSteve
您已经可以做到这一点的方法applicationDidEnterBackground
我认为应用会在一段时间后自动终止,不是吗?如果我错了,请原谅我的无知。我对iOS编程非常陌生。 – Dennis
除非iOS需要用于其他应用程序的内存,否则不会,并且只要您在后台执行某些操作。 – user1320885
编号应用程序无法在后台运行超过10分钟,除了少数特定情况(VOIP,播放音频等。) – Greg
使用本地通知来做到这一点。但是这不会每次都检查。你将不得不设置一个时间来检查你的特定事件,你可以通过缩短你的时间来缩短这个时间。了解更多关于本地通知,知道如何在实现这一目标:
不,如果应用程序在后台,本地通知所要做的就是向用户显示通知。除非用户单击通知以将应用程序置于前景,否则无法进行任何实际工作。 – ToolmakerSteve
我想这是你需要什么
When an iOS application goes to the background, are lengthy tasks paused?
iOS Application Background Downloading
这可以帮助你...
享受编码:)
我知道这不是您问题的答案,但我认为这是一个解决方案。
这假设你想要定期检查某些东西或从互联网上获取数据吗?
创建一个服务,无论您想知道什么,都会检查互联网的每一个设定的时间间隔,并创建一个推送通知来提醒您,如果服务器关闭,或者您尝试监视的任何内容已更改州。只是一个想法。
是的,你可以做这样的事情。为此,您需要在info.plist中设置条目来告诉操作系统我的应用程序将在后台运行。当我想要将特定时间戳后的用户位置传递给服务器时,我已经完成了此操作。为此,我已将“所需的背景模式”设置为“应用程序注册以进行位置更新”。
您可以编写一个类型为UIBackgroundTaskIdentifier的处理程序。
嗨丹尼斯希望你有你的答案。如果是的话,那么你能否请你将自己的答案标记为true,并投票选举...... – Mrunal