ios - 有没有办法将iOS应用设置为每晚自动下载数据?

标签 ios

我们有一位客户希望我们让我们的 iOS 应用程序检查每晚发布的新数据,并在可用时下载。据我所知,这只有在应用程序已经打开或者有人实际接受通知或自己启动流程的情况下才有可能。

它是否正确?我无法想象 Apple 会允许启动应用程序并下载数据而无需用户交互。

最佳答案

是的,如果应用程序实际在前台运行,通常您只能在特定时间下载数据,这是正确的。应用程序是否已经打开或用户从通知中打开它都没有关系,关键是需要用户交互。因此,客户不能完全拥有他们想要的东西。

查看 iOS7+ 的后台下载(获取),您可以在其中注册应用程序以在使用前执行后台下载。 iOS 完全控制了这一点,它可能会选择运行应用程序,也可能不会。 iOS 将监控您的应用程序通常何时被特定用户使用,如果合适,它会允许应用程序在后台运行以在用户预期使用该应用程序之前进行一些下载。

特别是您正在查看 setMinimumBackgroundFetchInterval:并设置 UIBackgroundModesfetch 的键在 Info.plist 中。

顺便说一句,这是基于您扩展信息的想法:

  • 使用idleTimerDisabled防止应用在主要使用期间休眠并跟踪时间
  • 应用主要使用期结束后,开始下载
  • 下载完成后让屏幕休眠
  • 第二天,如果用户打开应用程序,重复

  • 它并不完美,但它是一个近似值

    关于ios - 有没有办法将iOS应用设置为每晚自动下载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28508904/

    相关文章:

    ios - 检查子类是否覆盖了一个方法

    ios - 在较旧的 iOS 模拟器上运行时,错误 "Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding"

    ios - 选项卡式 UINavigationBar iOS 8

    ios - 将键盘附件 View 背景颜色与键盘颜色相匹配

    ios - 将两个 UIViewController 并排放置在屏幕上

    ios - 使用时标签显示文本效果不佳[cell setNeedsDisplay]

    ios - 在 swift 3 中使用 PKHUD 创建自定义 View

    ios - GCDWebservers 后台模式无法在设备上运行

    ios - 在 Swift 4 中手动设置 iOS 相机的曝光

    ios - sqlite 没有更新我的数据库 iOS