问题标签 [uibackgroundtask]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何在应用程序处于后台模式时使用 AFNetworking 上传大文件(视频)?
我想在应用程序处于后台模式时从我的应用程序上传大文件(视频)。我正在使用 AFNetworking 库。应用程序从 3 分钟开始运行,但之后它会终止所有活动。
下面我在应用程序中使用的代码。
ios - 当应用程序也在后台时如何进行网络调用
我有一个应用程序,如果它进入后台,它必须每 1 分钟调用一次网络 API。
到目前为止,我的研究表明这是不可能的。
有什么方法或解决方法可以做到这一点但到目前为止我找不到任何方法吗?
谢谢
ios - 后台任务不工作
每当我的应用程序进入后台时,我都会尝试执行我的代码。但是我的代码不起作用。这是我的以下代码:
但是我的代码不起作用。因为它不打印called function
。
提前致谢。
ios - iOS 应用程序“有超出允许时间的活动断言 - 偶尔崩溃”
我的一些用户遇到了这个崩溃(据他们说,它发生在使用该应用程序 4-5 分钟后),但我自己无法重现它:
现在我查看了处理此崩溃的其他各种 SO 问题,但没有一个答案对我有帮助,所以我想我会在这里发布我自己的设置和代码。
首先,发生这种情况的功能与应在应用程序中运行的重复任务有关。为此,我在应用程序首次启动时在应用程序中重复了一个计时器:
}
需要运行的备份可以是可变大小的,具体取决于用户的数据。这是通用代码:
可以肯定的是,beginBackgroundUpdateTask
和endBackgroundUpdateTask
看起来与 SO 和 Apple 指南中的代码示例完全相同:
====
这就是我的设置。从用户描述来看,在应用程序运行 4-5 分钟后,应用程序在前台出现此崩溃报告时似乎崩溃了。如果他们禁用自动备份设置,该应用程序将再次正常工作。
这里的主要混淆是当应用程序在前台而不是后台使用它时应用程序崩溃,但错误消息谈论的是后台任务断言。这怎么可能?
另外,我可以做些什么来防止这个问题?我已经看到backgroundTimeRemaining
提到 UIApplication 的属性,但我不确定在我的示例中如何或在何处使用它。
使用 NSTimer 会导致任何并发症吗?在设备上,如果应用程序已经在后台,它似乎不会触发计时器。
感谢帮助。
ios - 当应用程序后台运行时,使用 pause/resumeAll 持久上传到 s3?
我正在使用这种方法将图像/视频上传到 S3(参见下面的代码)
我想知道用户是否将应用程序设置为背景并在很久以后将其打开备份是否可以使用暂停/恢复来恢复所有这些上传?看起来它可能会在 SDK 中使用self.cache.diskCache
. 换句话说,我可以使用 UIBackgroundTask 来暂停到期处理程序中的下载以及应用程序何时返回前台 resumeAll 吗?
我正在观看有关如何使用 NSURLSession 进行持久上传的演讲,并试图设计一种在我当前的应用程序中进行此操作的好方法。
像这样的东西:
来自 AWS Docs 的参考:
ios - 只保留一项后台任务
我正在开发一个应用程序,它使用后台任务每 20 秒跟踪一次用户位置。一切都很好,除了当我在后台进入应用程序时,会创建一个新的后台任务,这样我就可以在最终运行多个后台任务。我试图添加[[UIApplication sharedApplication] endBackgroundTask:bgTask];
,applicationWillEnterForeground
但什么都不做。关键是我想在进入应用程序时使所有正在运行的后台任务无效/禁用,并在进入后台时创建一个新任务,或者只保持一个后台任务运行。
ios - iOS App运行后台任务时间
所以我在我的应用程序中执行一个后台任务,它是这样开始的:
我的问题是backgroundTimeRemaining
总是返回1.79769313486232e+308
。这应该只在应用程序处于活动状态时发生。但是这个函数只在应用程序在后台运行时被调用,第一个日志语句证实了这一点。
我还尝试在 5 秒后发送日志语句并断开设备与 Xcode 的连接(正如另一篇 SO 帖子中的某人所建议的那样),但没有成功。
ios - iOS CPU_FATAL 0% 在后台
我正在为我的应用程序播放背景音频。但是一些用户警告我一个奇怪的错误。在后台播放 1 小时或更长时间后,应用程序被 iOS 杀死,您需要再次启动它。
大多数情况下,当应用程序必须经常创建后台任务并使用它直到下载足够的数据以再次开始播放时,它会发生在互联网连接不良的情况下。
我知道后台任务的时间限制,这不是问题。这是来自用户设备的崩溃日志的一部分:
最奇怪的是第三行。如果 0% 低于 80% 的限制,为什么它是一个例外?
通过符号化 Thread 0(它是主线程)的堆栈跟踪,我发现它发生在 method 上- [NSFileManager fileExistsAtPath:]
。以前它发生在方法上+ [UIImage imageWithContentsOfFile:]
。那么什么可以冻结对 iOS 后台文件系统的访问呢?
还:
- 当应用程序尝试在锁定屏幕上设置图像时会发生这种情况。
- 图像存储在 Cache 文件夹中。
ios - 频繁的时间间隔后台提取
我开发了两个不同的应用程序
- App1 - 启用 Healthkit。
- App2 - 离子应用
App1 任务:从存储在服务器中的 healthkit 读取数据。
App2 任务:从服务器检索存储的数据并显示。
我使用 openURLScheme 从 App1 启动 App2。所以 App1 以后台模式运行,也应该持续 3 分钟到 1 小时以上。
我尝试了以下场景:
我得到错误:allowedBackgroundDuration: 180.000000 原因:finishTask
接下来3分钟的extent后台进程(在IOS 7引入之后,在IOS 7之前,进程执行时间为10分钟)。
笔记 :
我希望使用 APNS 静默通知是可行的。但我期待比 APNS 更好的解决方案。
ios - 迅速停止后台任务
我以这种方式通过后台任务的管理构建了我的应用程序:
但我不能阻止后台计时器。我想使用这三分钟不是连续的而是分段的,例如使用 5 秒的间隔。我不知道你是否可以做到,让我知道这是否可能以及如何做。谢谢 编辑:我当然没有说清楚。我可以停止和恢复 backgroundTimeRemaining 的剩余时间吗?例子
我试过了,但是不行!!!