草庐IT

ios - 通常应用程序在后台完成多长时间 (backgroundTimeRemaining)

我需要在应用程序处于后台时获取用户位置更新。我使用了“重大更改功能”,但重大更改的问题并不准确。因此,为了“一点点”提高“重大变化”的准确性,我正在考虑用UIApplication:beginBackgroundTaskWithExpirationHandler:对此进行补充。因此,我的问题是应用程序通常在后台运行多长时间(backgroundTimeRemaining中的值)。 最佳答案 目前(从iOS5开始),应用程序可以在后台完成任务的最长时间为10分钟。这可能会在未来的iOS版本中改变。当您的应用程序进入后台时,您可以通过记

objective-c - 在后台更新 UITableView 的数据会中断动画

我有一个UITableViewController,它应该在后台获取数据,然后刷新UITableView。但是,当我在后台运行更新方法时,它会破坏整个应用程序中的所有过渡动画(将ViewController推送到导航堆栈时的幻灯片)。奇怪的是,完全相同的模型在其他类中的工作方式与本类非常相似。这是我用于后台更新的调用:[selfperformSelectorInBackground:@selector(updateData)withObject:nil];然而这是有效的,但当然不是在后台完成的:[selfupdateData];最后是正在运行的方法:-(void)updateData{

iphone - 如何避免我的应用程序在后台运行并跟踪我的位置时被终止?

我正在制作一个应用程序,它需要每次都跟踪用户的位置。它也可以在后台模式下工作。问题是当我多次使用其他应用程序时。其他应用程序可能会占用大量内存。我的应用程序有时会被系统终止。没有崩溃日志。所以我想知道一些原因。有什么办法可以避免我的应用程序被终止?非常感谢您的帮助。 最佳答案 你无法阻止应用程序被终止,但你能做的最好的事情就是当它进入后台时尽可能多地释放内存-缓存图像,文件......同时停止任何正在运行的计时器、UI更新和所有耗时的事情。通过遵循MVC规则,最好的实现是创建一个单独的类(模型),它只负责位置更新(内部有CLLoca

objective-c - 如何突然停止当前在后台执行的线程?

事实:我有一个在后台线程上执行的方法:[currentGameperformSelectorInBackground:@selector(playOn:)withObject:self];此方法基本上包含一个while循环,该循环一直执行到用户单击退出按钮为止:-(void)playOn:(UIViewController*)thisViewController{while(!quitButtonPressed){//thisismymethod'smainloop}}问题:IftheuserclicksonQuitsomewhereinthemiddleoftheaboveloopt

ios - 在后台线程上将核心数据图像加载到 UITableViewCell 时崩溃

我在CoreData中存储了一系列个人资料图片作为BinaryData(启用了AllowsExternalStorage选项,所以不要指责我存储图片在核心数据:)每张图片都显示在UITableViewCell中。目前,当用户点击显示表格View时会有轻微的延迟,大概是因为它是从CoreData加载它们,这对性能有足够的影响,可以在主线程上加载它们时锁定UI。我想将图像加载到一个单独的后台线程,以便立即显示表格View,并在从CoreData加载图像时显示图像。我试过解决方案inthispost在-cellForRowAtIndexPath:方法中使用以下代码://Createthece

iOS - iBeacon - 在 iOS 7.1 更新后在后台作为信标进行广告(广播)

我正在尝试使用iBeacon创建一个应用程序,其中一台设备将用作信标广播器,另一台设备用作接收器。我在RuniPhoneasaniBeaconinthebackground中经历了类似的事情。但是目前的解决方案不适用于iBeacon的API,所以我再次问这个问题。即使应用程序处于后台或退出模式,我也成功地在检测器设备(接收器)上收到通知。但是每当广播设备的应用程序进入后台时,它就会停止广播数据包并且不再是信标。当它回到前台时,它再次正常工作。所以问题是Broadcaster必须始终处于前台才能充当Advertiser或Broadcaster。即使应用程序处于后台模式,是否仍然可以广播/

objective-c - 防止 iOS NSTimers 在后台被杀死的技术

obj-c和iOS相对较新,但我创建了一个围绕4个简单的秒表式计时器构建的小应用程序。用户启动一个计时器,它开始计时,然后他们继续他们的生活。当他们打开应用程序时,他们可以看到它进行了多长时间。单独来看,这些计时器与AppleClock应用程序中的计时器相同。这在“大部分”时间都有效。我已经让计时器运行了好几天,启动、停止、重置、重新启动。但我注意到的是,如果该应用程序被推到多任务抽屉的下方太远,下次我打开该应用程序时,我的所有计时器都将为零,并且该应用程序将处于刚启动的状态。对我来说,这似乎与操作系统认为不需要我的应用程序有关,杀死它的线程/进程/任何东西以释放内存。对于应用程序的目

iphone - 当 iPhone 应用程序在后台运行时显示弹出窗口 (UIAlertView)

我是iPhone应用程序开发的新手。我的问题是当我的应用程序在后台运行时如何显示弹出窗口(UIAlertView)?我正在为ios6使用xcode4.2我无法在互联网上找到满意的答案。有人可以帮我解决这个问题吗?-(void)applicationDidEnterBackground:(UIApplication*)application{UIApplication*app=[UIApplicationsharedApplication];bgTask=[appbeginBackgroundTaskWithExpirationHandler:^{[appendBackgroundTas

ios - 在后台处理的方法中使用相同的调度队列

我有一个方法可以更新表格中的两个部分,这需要一段时间。我想做类似的事情:dispatch_queue_tlowQueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW,0);dispatch_queue_tmainQueue=dispatch_get_main_queue();dispatch_async(lowQueue,^{NSArray*tempArray=//dolongrunningtasktogetthedatadispatch_async(mainQueue,^{//updatethemainthread[se

iphone - 在后台应用程序时重新启动没有用户界面的 iOS 应用程序?

如何在后台应用程序时重新启动没有用户界面的iOS应用程序?我知道通知,但在任何通知中,用户必须单击警报View按钮才能重新启动或打开应用。 最佳答案 没有办法做到这一点。用户必须参与才能做到这一点。 关于iphone-在后台应用程序时重新启动没有用户界面的iOS应用程序?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14337671/