在我们的系统中,我们有一个 Rails 服务器向 iphone 设备和一个固定电话发起电话会议。当我们的 iphone 应用程序在后台接收来电时,我们会看到一系列有关 AURemoteIO 初始化失败的错误消息。错误如下:
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>)
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 44100 Hz, Int16> inf< 1 ch, 44100 Hz, Int16>)
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 48000 Hz, Int16> inf< 1 ch, 48000 Hz, Int16>)
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 32000 Hz, Int16> inf< 1 ch, 32000 Hz, Int16>)
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 16000 Hz, Int16> inf< 1 ch, 16000 Hz, Int16>)
<0x4336000> AURemoteIO::Initialize failed: -12985 (enable 3, outf< 1 ch, 8000 Hz, Int16> inf< 1 ch, 8000 Hz, Int16>)
从我们在日志消息中可以看出,这发生在 didReceiveIncomingConnection 回调之后或期间的某个时间点。这是该函数的代码:
-(void)device:(TCDevice*)device didReceiveIncomingConnection:(TCConnection*)connection{
if ( _connection ){
[self disconnect];
}
_connection = [connection retain];
[_connection accept];
}
不幸的是,我们从来没有达到这个connectionDidConnect
功能。但是,这确实可以在前台正常工作。可悲的是,这是应用程序的必要要求(在后台运行)。
我们将UIBackgroundMode设置为location、VOIP和audio。
有没有人遇到过这个问题?