问题标签 [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 - 在 ios 中发送通知,例如没有 APNS 服务器的推送通知,
我想在没有任何 APNS 服务器和设备令牌的情况下发送推送通知,比如 android 没有本地和推送通知,但他们可以在没有谷歌权限的情况下向设备发送设备。
ios - 在后台使用 NSFetchedResultsController 自动 UITableView
我正在尝试确定一个使我的应用程序崩溃多年的错误。然而,我花了很长时间来缩小原因,我想我(几乎)有它。如果应用程序进入后台,它会运行一个后台任务来清理数据库,并在两个月后删除文章订单。
如果碰巧有符合条件的文章,并且 UITableView 打开并显示此特定列表,则应用程序崩溃,因为查询NSFetchedResultsController
结果经常出现以下错误:
或者有时:
调用时:(_objects 是 NSFetchedResultsController)
由触发
所以我想知道这是否是因为NSFetchedResultsController
当应用程序退出活动时(在主线程上)对后台任务/线程不可用(正确)。这是解释吗?如果是这样,我如何防止这种正确的形式发生?
我可以阻止合并更改,但是当应用程序返回前台时ManagedObjectContect
,如何确保它已更新,并且更改反映在 中?UITableView
只是一个理论。我知道崩溃发生在后台进程中,但还没有更多。当应用程序处于活动状态时,更新、删除、删除工作正常。
更新代码更正:后台进程的调用
清理现在在一个单独的线程中正确进行,并且通知被发送到主线程,但仍然是同样的问题。
android - 根据后台线程结果更改 android UI
我正在开发一个需要根据后台线程处理结果进行UI更改的android应用程序,我首先尝试了以下代码:
但是我的应用程序崩溃了,因为我试图从该后台线程进行UI更改,然后我尝试了这种方式:
但我得到了那个例外:
在搜索之后,我发现我必须运行代码AsyncTask
以避免这些问题,但是当尝试使用它时,我发现它只能用于小任务,而不是像在所有run_time后台运行的线程一样。
那么,在整个run_time中在后台运行线程或任务并反映它对UI的更改的最佳日子是什么时候。
ios - 通过静默推送通知 LocationManager 的 startUpdatingLocation
我正在创建需要在特定时间在后台唤醒的应用程序。
我努力了 :
UILocalNotification :但我不想使用UILocalNotification因为它需要用户交互才能点击通知,而不仅仅是应用程序会唤醒并启动位置管理器。
我还使用
[locationManager startUpdatingLocation];
了启用背景模式位置更新,这是可行的,但它会消耗大量电池。
因此,使用新的 iOS 7 功能Silent pushNotification
和didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:
方法我需要在后台启动位置管理器,
静默推送通知正常工作,
PushNotification 的负载:
但这不会启动位置管理器,请有人帮助我。
编辑:
如果不可能,请给我一些建议。
ios - 几秒钟后,应用程序在 ios7 中被操作系统杀死 - 编辑
我正在为iOS 7创建基于导航的应用程序,为此我正在获取用户位置数据,使用 CoreLocation 框架,
应用程序要求是在特定时间开始在后台获取用户位置,为此我已经使用didReceiveRemoteNotification fetchCompletionHandler:
方法实现了 Silent Pushnotification,
我已经成功地实现了这个 Using Silent Pushnotification & it CallstartUpdatingLocation
并且我能够在委托方法中获取位置数据:
使用此有效负载:
{"aps" : {"content-available" : 1},"SilentPush" : "4"}
我为后台模式启用了location
& :remote notification
didUpdateLocations
但问题是:
几秒钟后,位置类的委托方法停止,如果设备正在移动,它不会发送任何数据,当我将应用程序与前台交谈时,它会调用“didFinishLaunhing”方法,所以我猜即使位置正在更新,操作系统也会杀死应用程序,在Diagnostics & usage
我收到以下崩溃报告的设备:
昨天我问了这个问题,现在我可以通过推送通知在后台启动位置管理器,
所以请任何人都可以解决这个问题。
谢谢你。
注意: 如果我在调试模式下运行应用程序,意味着我通过 XCode 运行应用程序并且不停止它或不断开连接,应用程序将运行。在这种情况下,应用程序不会被操作系统停止。
编辑 1
根据@Stephen Darlington 的回答,如果我删除了所有的 backgroundfacher 之类的,
现在应用程序甚至不会调用didUpdateLocations
一次,:(
我应该用这种方法写什么?
Edit 2
根据Apple Doc说:
If your app is suspended or not running, the system wakes up or launches your app and puts it into the background running state before calling the method.
那么,只要我启用了位置背景模式,应用程序是否应该在后台运行?
objective-c - 调度调用到 UIBackgroundTaskIdentifier 内的主队列
我正在运行某个任务,UIBackgroundTaskIdentifier
因为我想在后台运行它。我的代码看起来像这样。
所以我有两个问题。
- 如果我的应用程序在进行某些处理时进入后台,对主队列的 dispatch_async 调用会发生什么?
- 这是一个好的设计吗?
ios - 从 iOS 在后台向服务器发送位置坐标
我正在开发一个需要将用户位置发送到服务器的应用程序。我必须每秒更新用户位置并将其从后台发送到服务器。
我能够在后台获取位置坐标,但是如何每秒将其发送到服务器?请帮我。
我发现这是在一个应用程序中工作 - UBER
ios - 即使将 enableBackgroundingOnSocket 设置为 TRUE,XMPPFramework 也不会在后台发送保持活动状态
我认为标题足以说明问题。我想XMPPFramework
在后台工作(如服务),即使应用程序未处于活动状态也能接收消息。我已经设定
xmppStream.enableBackgroundingOnSocket = YES;
但这里没有进展。该应用程序进入后台,它仍然会在几秒钟内接收消息(并显示通知),但如果它在几秒钟内处于非活动状态(并且也空闲(没有传入消息)),它将不再在后台工作。我尝试记录并看到应用程序在收到最后一条消息(最后一个活动)后几秒钟内发送保持活动数据包,但如果有一段时间没有活动,它会停止发送保持活动并且应用程序不会'不再被通知和工作了。以防万一,我已将“保持活动发送间隔”设置为 5 秒。
我非常感谢任何快速帮助。
非常感谢
ios - 当应用程序在后台被杀死时删除数据。
我有一个正在保存数据的应用程序,但是当应用程序在后台被终止时,我必须删除所有保存的数据。
我尝试使用这种方法:
但它不起作用。有人可以建议我怎么做吗?
linux - 后台Linux任务完成
我有一个完成并打印的 Linux 任务:
我注意到过去它会打印:
+
和有什么区别-
吗?