如何解决为什么在iOS 14中实例化后,我的AudioUnitAUv3主机立即失去XPC连接?
我是用Objective C编写的iOS AudioUnit主机的作者。
在iOS 14中,它在实例化任何AU乐器时开始崩溃,但是相同的AU在其他主机中也可以工作。如果我中断了InstantiateWithComponentDescription的完成处理程序,那么在我退出(但不继续执行)之前,我会立即看到错误,然后再调用其他任何东西:
Error in destroying pipe Error Domain=NSCocoaErrorDomain Code=4099 "The connection on anonymousListener or serviceListener from pid 630 was invalidated from this process." UserInfo={NSDebugDescription=The connection on anonymousListener or serviceListener from pid 630 was invalidated from this process.}
有时是4097。插件的下一次调用当然会使主机崩溃。在日志中,唯一引起我注意的条目是:
default 14:38:47.105386-0700 MPC Pro 2 [u 01E943B9-94B5-4BF2-8926-9E843EB6482D:m (null)] [<private>(<private>)] invalidating startup assertion
default 14:38:47.106987-0700 runningboardd Invalidating assertion 32-637-996 (target:[xpcservice<com.retronyms.digits.Phase84-Component([application<com.akai.impcpro2>:637])>:639]) from originator [application<com.akai.impcpro2>:637]
default 14:38:47.733485-0700 SpringBoard Workspace connection invalidated for <FBExtensionProcess: 0x156e2da50; xpcservice<com.retronyms.digits.Phase84-Component([application<com.akai.impcpro2>:637])>:639(v6BE)>
default 14:38:47.733583-0700 SpringBoard [xpcservice<com.retronyms.digits.Phase84-Component([application<com.akai.impcpro2>:637])>:639] Now flagged as pending exit for reason: workspace client connection invalidated
我需要授予该应用某种访问权限吗?我如何从中获得更多调试信息?
解决方法
如果ARC已被禁用,请确保在完成后强制AU保留:
[AUAudioUnit instantiateWithComponentDescription:descr options:{}
completionHandler:^(AUAudioUnit * nullable an_audio_unit,NSError * nullable
error) {
[an_audio_unit retain];
}];
最佳
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。