【问题标题】:Keep iPhone app opened in background保持 iPhone 应用在后台打开
【发布时间】:2014-02-25 07:09:14
【问题描述】:

正如标题所说,我需要让我的 iPhone 应用程序在后台保持打开状态,我不需要执行任何任务,如果没有完全从多任务处理中关闭(即像 Notes 或 Stocks 等原生应用程序那样),则不要从新开始. 我补充说:

<key>UIApplicationExitsOnSuspend</key>
<false/>

到我的 Info.plist,但这似乎还不够。我放置了 NSLog 以查看发生了什么,我注意到每次应用程序获取时都会触发 applicationDidFinishLaunching,无论它是否关闭或不是多任务处理都打开。 applicationDidEnterBackground 也被解雇了,但我看到 applicationWillTerminate 紧随其后。 applicationWillEnterForeground 永远不会被解雇。

关于如何使我的应用程序的背景工作的任何想法?

旁注:我直接在 iPhone 上使用 theos 进行编译。

【问题讨论】:

  • 我不知道theos是什么,但它可能是问题的根源。自 iOS 4 以来的大多数应用程序不会在 applicationDidEnterBackground 之后终止。
  • 我不在乎它是什么。我要告诉你的是,如果你使用 Xcode 以正常方式构建 iPhone 应用程序,它通常不会在后台终止。

标签: ios objective-c background theos


【解决方案1】:

您可以使用 iOS 7 多任务 API 让您的应用程序在后台运行。 https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

您可以通过将 UIBackgroundModes 键添加到 Info.plist、将其值设置为数组以及将应用程序状态添加到数组中来将应用程序设置为在后台运行(上面的链接)

【讨论】:

  • 这就是我在我的问题中谈论的所有内容的来源。不幸的是,这并不能真正帮助我理解为什么我的应用程序被终止而不是进入后台:-/ 但无论如何谢谢
  • @Fabius 你看过文档了吗?
  • 是的,但如果你认为我遗漏了什么,请指出我,因为我真的不明白我做错了什么
  • 我还尝试过(即使我说过我不需要在后台运行任何类型的任务)但不幸的是这并没有改变任何东西。一旦我按下主页按钮,我的应用就会触发 applicationWillTerminate 并完全关闭。
猜你喜欢
  • 2011-05-26
  • 1970-01-01
  • 1970-01-01
  • 2021-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多