Tag: 背景

使用AVPlayer的audioAirplay不能在后台工作

我正在使用来自远程URL的AVPlayer类进行audio回放。 如果我只是玩耳机/内置扬声器,它会玩的很好,但我看到AirPlay的一些古怪。 当我改变使用AppleTV AirPlay时,它将stream式传输audio,但在我的iPhone上,audio播放指示器(顶部菜单栏中的小“播放”三angular形)消失,当我locking手机而不是继续背景,它停止。 (当正常播放时,它在后台播放很好)。 为什么AVPlayer不能在后台通过AirPlay播放audio? 这是其他人看到的吗? 有没有办法解决它?

如何在后台每小时运行一个〜30秒的进程(iphone应用程序)

我有一个iPhone应用程序,有一个30秒的进程,做一些networkingIO。 基本上,当应用程序在后台,我希望这个过程每小时运行(实际上每天一次,但如果失败,我希望它在一个小时内重新运行)。 有了ios 4的背景特征,这可能吗? 如果是这样,怎么样? 我会碰到什么限制? 非常感谢!

iOS上的VoIP套接字 – 未收到通知

我有一个VoIP应用程序,使用TCP服务在来电时唤醒它。 TCP套接字使用以下代码片段创build: CFReadStreamRef read = NULL; CFWriteStreamRef write = NULL; … CFStreamCreatePairWithSocketToHost(NULL,(__bridge CFStringRef)shost, port, &read, &write); self.read = (__bridge NSInputStream*)read; self.write = (__bridge NSOutputStream*)write; if (![self.read setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType]){ [Log log:@"Could not set VoIP mode to read stream"]; } if (![self.write setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType]){ [Log log:@"Could not set VoIP mode to write stream"]; } self.read.delegate = self; […]

如何在applicationDidBecomeActive中确定是否是最初的iPhone应用程序启动?

如何确定在UIApplicationDidBecomeActiveNotification中如何确定是否是最初的应用程序启动?是否是最初的应用程序启动? 这是应用程序的初始启动,而不是随后的DidBecomeActive由于应用程序放在后台,然后放到前台(例如,用户转到日历,然后返回到您的应用程序)

在iOS 8的后台永远运行一个应用程序

这个话题有几个线程,什么都不适合我。 我不需要在应用程序商店部署应用程序,所以我可以在应用程序中做黑客来保持运行。 任何方式我可以保持应用程序即使它是背景时, 任何指针赞赏。

计步器在背景中

我知道这已经被问了一百万次了,但对我来说却是不可能的。 所以我需要build立一个计步器的应用程序,并继续计数步骤事件,如果他们发送应用程序的背景超过10分钟。 客户端根本不想使用GPS,也不会播放无声的audio,因为苹果可能会拒绝。 有没有人有一个想法如何做到这一点? 客户端使用Runtastic计步器应用程序作为参考,我一直在分析它,它不使用,也没有位置,也没有音乐,并在后台运行超过10分钟。 任何线索? 这样做真的是不可能的吗? Runtastic的人可能会认同苹果使用一些秘密API让它在后台运行吗?

使用AVAudioRecorder在后台录制语音

我试图用AVAudioRecorder在后台录制用户声音,但是每次我在调用recordForDuration方法的时候都得到NO 。 我添加“audio”到UIBackgroundModes但这没有帮助。 顺便说一下,一切工作完美的前景。 我正在使用这个代码初始化AVAudioRecorder : NSError* error; if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:&error]) { NSLog(@"Error while setting audio session category. Code – %d, description – \"%@\".", [error code], [error localizedDescription]); return; } NSURL* outputFileURL = [VKMFileSystemHelper uniqueFileInPath:[[VKMFileSystemHelper subdirectoryInsideLibrary:DIR_AUDIO] path] withExtension:@"m4a"]; NSDictionary* recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:kAudioFormatMPEG4AAC], AVFormatIDKey, [NSNumber numberWithInt:AVAudioQualityMin] , AVEncoderAudioQualityKey, [NSNumber numberWithInt:16] , […]

如何跟踪iOS设备上的3G / WiFinetworkingstream量?

我想了解像DataMan这样的应用程序是如何工作的。 即使它在后台运行,它如何测量其他应用程序的带宽分配?

Objective-C / iOS:在后台保持蓝牙连接

我已经研究了几天,现在看起来像在手机进入睡眠状态或应用程序在后台时不能保持蓝牙连接。 不过,我发现一个应用程序声称他们可以一直运行: RunKeeper应用程序说: 2.5.1.0版中的新function 支持跟踪心脏在与Wahoo心率监视器的背景。 有谁知道他们如何设法发送心率数据到手机,而应用程序在后台? 更新: 通过在“蓝牙中央”的“所需的背景模式”下在我的plist中添加一个条目来获得它的工作。

正确使用HKObserverQuery的后台更新completionHandler

HKObserverQuery有以下支持在后台接收更新的方法: – initWithSampleType:predicate:updateHandler: updateHandler有一个completionHandler ,它有以下文档 : 这个块被传递给更新处理程序。 处理传入数据后,您必须立即调用此块。 调用此块告诉HealthKit您已经成功接收到背景数据。 如果您不调用此块,HealthKit将继续尝试使用退出algorithm启动您的应用程序。 如果您的应用程序未能响应三次,HealthKit会假定您的应用程序无法接收数据,并停止向您发送后台更新。 从看其他post看来,围绕这个处理程序有很多困惑。 以下是我对它的一些问题: 什么时候该处理程序被叫? 如果调用时间太晚,HK可能会认为该应用程序从未收到查询更新,导致您点击后台更新3-strike back-offalgorithm。 该文档指出,应该在处理其他查询之后调用它。 根据运行这些查询需要多长时间,这听起来像你可以危险地接近后台更新罢工。 为什么这需要? 系统不知道该应用程序已经启动,并已收到后台更新? 当在后台使用CoreBluetooth时,它CoreBluetooth在后台将您的应用程序唤醒10秒。 无需调用任何处理程序或处理后台更新3 – 罢工。 如果你点击后台更新3-strike,香港停止发送更新是永久的? 香港有没有开始发送后台更新? 如果有一个错误,阻止处理程序被调用,现在你已经修复它。 该应用程序卡住从未收到更新? 或者当应用程序重新启动或更新时重置? 香港是否让您的应用程序在后台运行,直到处理程序被调用? 这是其目的还是仅仅是一个副作用? 如果这是其目的的一部分,我们可以运行多长时间才能停止(并击中第一次后台更新)?