【发布时间】:2016-08-13 10:34:41
【问题描述】:
我目前正在开发一个 iOS 应用程序,该应用程序涉及录制视频并将视频(从内置摄像头)上传到服务器。
这一切都运行得相当好和花花公子,但对于一个新版本,客户要求一个新功能:继续这个过程,而不需要应用程序在屏幕上显示,并且处于活动状态。
目前,您录制视频,将其作为 MP4 存储在文件系统上,后台线程将文件上传到服务器。这一切都在应用程序打开时发生,最终出现一个屏幕,该屏幕基本上告诉您等待该过程完成。
如果您按下主页按钮以“最小化”应用程序(我不熟悉 iOS 术语,请原谅),目前所有上传过程都会暂停。客户希望拥有它,以便您可以最小化并在此过程继续进行时做一些完全不同的事情,并在上传完成后显示通知。
我的理解是,iOS 为下载、流媒体音乐和定位内容提供了一些特殊情况。
假设曾几何时,当您的应用程序被最小化以完成任务时,您可以获得十分钟左右的后台时间 - 之后 iOS 会强制暂停所有内容,直到应用程序再次处于前台并再次处于活动状态。这显然已经在较新版本的 iOS 中进行了更改,这意味着您不能再依赖特定的数字了 - 但无论如何,十分钟还不够好。
我可以想到滥用上述功能的骇人听闻的方式,但我有点担心 Apple 可能会在 iTunes 提交过程中发现这一点。我真的在寻找一种更简洁的方法 - 如何在应用最小化的同时继续上传视频?
我假设有一个解决方案 - Dropbox 可以处理这种情况?
【问题讨论】:
-
据我所知,你不能这样做,特别是如果 10 分钟还不够长的话。 iOS 根本不希望应用在后台运行。
标签: ios swift video background upload