beginBackgroundTaskWithExpiration
全部标签 我编写了我的第一个iPhone应用程序,并设法将其进入应用程序商店。后来我发现了一个在真实设备上发生但在我的模拟器上没有发生的错误。我已经提交了一个修复程序(更改了plist以防止应用程序在后台运行),但我真的不明白为什么会这样。我的应用程序允许用户录制一个声音字节,但是在录制时他们可以使用iPhone主页按钮将应用程序移动到后台,然后如果他们不重启手机或该应用程序不会崩溃。根据我所阅读的所有内容,我的印象是,这不应该发生,因为如果你想这样做,你必须专门要求背景音频,但现在在我看来你必须专门要求禁用它。谁能给我解释一下? 最佳答案
我在beginBackgroundTaskWithExpirationHandler上找到的所有使用示例和教程:展示如何将一个或多个新任务包装到block中以供执行。然而,如果一个事件已经开始,例如假设NSURLConnection正在下载,当应用程序进入后台时。那么如何使用beginBackgroundTaskWithExpirationHandler处理该事件?谢谢 最佳答案 无论如何,您应该将其包装在后台任务block中。然后,如果应用程序进入后台,您将被允许继续。 关于ios-应
我正在尝试在我的应用程序中实现一个看似常见的功能:在后台上传文件。我通过调用-[UIApplicationbeginBackgroundTaskWithExpirationHandler:]运行此类任务,因此这些任务均由UIBackgroundTaskIdentifier标识。请看下图。橙色框是我似乎无法找到任何答案的问题点。以下是我寻求指导的问题:是否可以获取同一应用在上一个session中启动的正在运行的任务列表?是否可以将某种元数据(例如URL字符串)与后台任务相关联,以便我们知道哪个任务正在上传哪个文件? 最佳答案 您使用的
我有一些长时间运行的进程,即使应用程序进入后台我也想运行。我正在调用应用程序的beginBackgroundTaskWithExpirationHandler:方法,并在expirationBlock中调用应用程序的endBackgroundTask。这是实现:__blockUIBackgroundTaskIdentifiertask=[[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:^{[[UIApplicationsharedApplication]endBackgroundTask:
我目前正在开发一个闹钟应用程序,我正在实现一个智能闹钟功能,我必须从服务器获取数据以确定是否是唤醒用户的正确时间。比方说,案例是:闹钟设置为06:30AM智能闹钟功能设置为06:30前30分钟,从06:00AM到06:25AM将以5分钟为间隔进行5次数据获取如果,比方说,在早上06:15服务器返回了唤醒用户所需的数据,所有计划的任务将立即取消当前时间是晚上11:3011:30PM-06:00AM期间不执行智能闹钟任务 最佳答案 您可以使用推送通知/静默推送通知来完成此任务。请注意,用户必须选择加入推送通知才能正常工作。这是您如何实现
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有一个应用程序,我必须在其中将大型视频上传到Amazons3存储桶。我正在使用受NSOperationQueue控制的NSOperations来运行并发任务。我在上传小视频(小于200Mb)时没有问题。但问题是当我尝试上传大视频时,上传过程在10分钟后中断。我已经在使用beginBackgroundTaskWithExpirationHandler:^来
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我有一个应用程序,我必须在其中将大型视频上传到Amazons3存储桶。我正在使用受NSOperationQueue控制的NSOperations来运行并发任务。我在上传小视频(小于200Mb)时没有问题。但问题是当我尝试上传大视频时,上传过程在10分钟后中断。我已经在使用beginBackgroundTaskWithExpirationHandler:^来
我正在开发一个能够将数据上传到远程端点的iOS应用程序。因为良好的用户体验需要在上传时离开应用去执行其他任务,我是否应该使用beginBackgroundTaskWithExpirationHandler:API启动所有我的上传? 最佳答案 是的。这与theapplicationdesignguide中描述的一种设计模式一致。:Wrapanylong-runningcriticaltaskswithbeginBackgroundTaskWithExpirationHandler:andendBackgroundTask:calls.
Xcode6.3.1ARC启用,适用于iOS8.3我需要帮助理解我在应用程序进入后台后尝试维护单例共享计时器时遇到的奇怪行为。以前我不关心这个NSTimer,因为它是使用后台位置服务在后台更新用户位置的。但是,我想解决用户在后台或位置更新时拒绝位置更新的情况。位置和计时器对于我的应用来说是齐头并进的。我在以下主题和网站帖子中浏览了相当多的信息...Apple's-BackgroundExecutionhttp://www.devfright.com/ios-7-background-app-refresh-tutorial/http://www.infragistics.com/c
我正在启动后台任务,如下所示:UIApplication*application=[UIApplicationsharedApplication];_backgroundTask=[[UIApplicationsharedApplication]beginBackgroundTaskWithExpirationHandler:^{[applicationendBackgroundTask:_backgroundTask];_backgroundTask=UIBackgroundTaskInvalid;}];应用程序被发送到后台,一切正常。一段时间后,满足特定条件,某些对象最终执行此代码