【问题标题】:how to keep application start with device restart如何通过设备重启保持应用程序启动
【发布时间】:2011-08-02 06:16:14
【问题描述】:

有什么方法可以在设备重启时启动应用程序。

我的意思是 - 当应用程序在后台运行时,我的应用程序正在尝试获取位置,但是如果用户重新启动设备,那么应用程序将不会提供任何位置更新。

那么有什么方法可以让应用程序在设备重启的情况下继续运行??

提前致谢。

【问题讨论】:

    标签: iphone objective-c ios4 iphone-sdk-3.0


    【解决方案1】:

    不,iOS 不提供任何类似自动启动功能的功能。在越狱手机上可能有一种方法,但如果您的目标是 App Store,您将必须设计您的应用程序/服务,以适应此限制。

    编辑:我的立场是正确的。如果您在Info.plistUIBackgroundModes 键中设置voip 值,则您的应用程序会在设备重新启动后重新启动。根据documentation

    voip: 该应用程序提供 IP 语音服务。具有此密钥的应用程序会在系统启动后自动启动,以便应用程序可以重新建立 VoIP 服务。

    【讨论】:

    • 好的。但是在后台使用 VOIP 和位置搜索,设备是否可以通过重启开始查找位置,或者无法做到这一点??
    • 为了让应用程序获取位置,它必须运行。可能是因为用户通过点击主屏幕上的图标、点击推送通知中的右键或调用您的应用已为其注册 URL 处理程序的 URL 显式启动它。 iOS 不会自动启动您的应用程序,只能通过这三个用户交互。另外,请注意,如果您的应用程序在后台运行并且由于前台应用程序需要它而内存越来越少(通常上网已经足够),它可能并且将会被杀死。
    • 我有解决方案 === 如果您在 plist 文件中允许后台定位服务和 VOIP,那么应用程序将自动调用 Applicationdifinishloading: when device will be restarted 这样我们就可以调用定位服务类 - 这一切都由它自己的设备管理。我们只需要写 UIBackgroundModeslocationvoip
    • @iPhone Fun:哇,你说得对。我已经相应地更新了我的答案。
    • @NickBull 是的,他们会拒绝该应用程序。在您将 VoIP 放入 plist 的那一刻,他们会想要测试您的应用程序并询问他们如何拨打电话。他们对 VoIP 应用程序非常小心。
    猜你喜欢
    • 2021-06-01
    • 1970-01-01
    • 2021-12-26
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多