我一直在做一个应用程序,它涉及使用支持后台模式/获取的AWS iOS SDK将视频上传到S3(相对较大的大小)。
但是我观察到后台上传任务持续了大约3分钟,然后它被暂停/ app被杀死。
MyApp [2548]拥有超出允许时间的有效断言: {( identifier:Background Content Fetching(66)进程:MyApp [2548] allowedBackgroundDuration:30.000000 reason:backgroundContentFetching owner pid:33 preventSuspend preventThrottleDownUI preventIdleSleep preventSuspendOnSleep )}
这里的问题在https://trovepromo-tf.trove-st ...
中得到了很好的解释这里给出的答案“如果你没有在30秒内调用completionHandler你的应用程序将在后台崩溃”似乎是正确的。所以我在我的VC和
中实现了URLSessionDidFinishEventsForBackgroundURLSession:
handleEventsForBackgroundURLSession:
在AppDelegate中。
然而,问题仍然是上传在3分钟后暂停(我认为操作系统会这样做)
我的理解是在关闭/暂停之前调用了URLSessionDidFinishEventsForBackgroundURLSession:delegate。我是对的吗?
无论如何,我可以继续从URLSessionDidFinishEventsForBackgroundURLSession
内部上传:
不知何故?
或者是否有任何自动方式可以继续上传过程,无论应用程序已被唤醒并重新进入睡眠状态。