草庐IT

ios - 即使 backgroundTimeRemaining 为零,代码仍在后台运行?

UIApplication*application=[UIApplicationsharedApplication];UIBackgroundTaskIdentifierbackground_task=0;background_task=[applicationbeginBackgroundTaskWithExpirationHandler:^{[applicationendBackgroundTask:background_task];}];SELselector=NSSelectorFromString(action);timer=[NSTimerscheduledTimerWit

ios - iOS 应用程序在后台录制时音频中断

我的iPad声音应用程序(iOS7.1)可以在后台录制。只要在后台录制不中断,一切都很好。例如,如果有人有(愚蠢的?)想法在录制内容的同时开始听音乐。我尝试以不同的方式处理这种中断,但没有成功。问题是-(void)audioRecorderEndInterruption:(AVAudioPlayer*)pwithOptions:(NSUInteger)flags在中断发生时应用程序处于后台时永远不会被触发。然后,我尝试在另一个解决方案中将AVAudioSessionInterruptionNotification和handleInterruption:方法实现为-(void)viewD

iOS Corebluetooth 广告和扫描,同时应用程序在后台

我目前正在开发一个在后台运行的iOS应用程序,它需要我使用蓝牙4.0来宣传和扫描设备。在学习Corebluetooth.framework时,发现iOS开发者可以在周边设备上设置两种广告数据。设备的本地名称。服务UUID。我了解到如果外围设备在后台运行,但是本地名称不会被公布。此外,服务UUID将被设置到溢出区域,中心设备只能通过使用主动扫描才能获得。但是,主动扫描只能在前台运行。此时我有一个问题。如果中心设备和外围设备都在后台运行,中心设备是否可以获取外围设备在溢出区域设置的服务UUID?那就是当两个iOS应用程序都在后台运行时,是否可以开发一个应用程序,每个应用程序都在后台互相广告

ios - 多点连接在后台断开

因此,我的理想情况是我希望我的MCNearbyServiceAdvertiser和MCNearbyServiceBrowser在后台工作。但我知道这些需要在应用程序退出事件时被杀死,并在我回到前台时恢复工作。但让我烦恼的是,当我将两个对等点连接到一个session,并开始在他们之间聊天时,它突然断开连接。意思是..我的MCSession对象在进入后台时断开连接。我还被告知certificateHandler(YES);的Apple错误,我现在明确地调用它。我想准确地设置FIRECHAT的操作方式。任何人都可以给我一些指示,说明为什么它总是失败,或者你们如何设法保持它活跃吗?谢谢,

ios - iOS 应用程序在后台时的 HTTP 连接,如果离线则重试

我编写了一个将在后台运行的基本位置跟踪应用程序。(不仅是后台线程,还有当设备处于黑暗状态时。)我设置了UIBackgroundModes键,这部分可以很好地将位置写入屏幕。接下来,我需要处理这些位置。根据位置和其他一些标准,应用程序需要偶尔通过HTTPget或post向服务器发送一些信息。有一些挑战:即使应用程序在后台,也需要将消息发送到服务器。即使在生成消息时设备处于离线状态,也需要将消息发送到服务器(用户在获取GPS位置时通常会超出小区范围)。当然,不必立即发送消息,但应将它们存储起来,并在设备重新联机时发送。如果消息没有通过第一次尝试,应该在放弃之前重新发送几次。我正在寻求帮助来

ios - MQTT-Client-Framework 在后台保持运行

我正在尝试通过MQTT-Client-Framework连接到我们的推送服务器.连接到服务器并不复杂,只需几行代码我就可以连接到服务器并订阅主题。但我有几个问题,我无法为他们找到任何直接的答案。1)如何让我的客户端在后台运行?2)设备重启后会发生什么?如何在设备重启后自动连接到服务器?3)假设我在连接服务器时出错。这个库会尝试循环连接吗?尝试了多少次?还是我需要自己管理?4)订阅主题的同3个场景? 最佳答案 根据我在MQTT客户端框架方面的经验,以下是对您的问题/疑问的回答。我希望它能澄清您的顾虑并帮助您继续前进。1)如何让我的客户

ios - 在后台测距 iOS 信标

我知道的主要目的是-(void)locationManager:(CLLocationManager*)managerdidRangeBeacons:(NSArray*)beaconsinRegion:(CLBeaconRegion*)region是在应用程序处于前台时工作。在后台时,-(void)locationManager:(CLLocationManager*)managerdidEnterRegion:(CLRegion*)region用于检测信标,但没有所需的信息(来自CLBeacons的次要和主要ID以提供上下文信息)。我知道CLLocationManager的委托(de

objective-c - 在后台线程上搜索

我试图在我的iPhone应用程序中搜索几千个对象,但是搜索非常滞后-每次按键后,UI会卡住1-2秒。为防止这种情况,我必须在后台线程上执行搜索。我想知道是否有人有一些关于在后台线程上搜索的技巧?我读了一点NSOperation并在网上搜索,但没有找到任何有用的东西。 最佳答案 尝试使用NSOperationQueue作为ViewController中的实例变量。@interfaceSearchViewController:UIViewController{NSOperationQueue*searchQueue;//otherawe

ios - 在后台收集加速度计数据

我正在开发一个iOS4+应用程序,它可以将iPhone上收集的加速度计数据传输到服务器。即使应用程序进入后台,该应用程序也应该收集数据(我想知道这个人的Action)。在网上查了下,发现app关闭10分钟后就被kill掉了,无法像Android一样(使用服务)实现。只有一些任务可以在后台运行,例如音频播放器、VOIP或地理定位。我在Internet上的某个地方读到我们可以使用变通方法让应用程序在后台运行。它使用播放静音的音频播放器。但是,Apple似乎不接受这种解决方法。你看到我的问题有什么解决办法了吗? 最佳答案 如果您注册您的应

ios - 让 UIView drawRect 出现在后台线程中

我想要一个UIView子类来实现类似于setNeedsDisplay的方法,除了重绘(即通常通过drawRect调用:)将很快在后台线程中发生,而不是在当前更新周期结束时发生。它可能被称为setNeedsAsynchronousDisplay。或者现有的setNeedsDisplay可能会被劫持,并且不会在循环结束时导致重绘,或者其他任何情况,只要它让重绘不会发生在主线程上,阻塞屏幕更新交互直到完成。在重绘发生之前,View可以继续使用其当前绘制的表示。按照这些思路合理可行吗?谢谢! 最佳答案 是的,这是可能的。您可能需要在后台将内