苹果mfi iap2识别被拒绝

apple mfi iap2 identification rejected

我正在为 ios 开发 USB 音频设备。 我使用 "usb devcie mode"(我的设备是 USB 主机,苹果是 USB 设备), 符合苹果官方 doc:mfi 苹果设备版本 R5.

配件接口规范

我已经通过认证,收到苹果"StartIdentification"请求。 当发送 "IdentificationInformation" 命令和我的身份证明时。 我得到 ID 15 的 "IdentificationReject"。(USBDeviceTransportComponent)

我已经尝试删除 ID15 的 "USBDeviceSupportedAudioSamplerate" parmeter:6,7,8(枚举值对应采样率),以及 ID6、ID7 中的 "USB Device Mode Audio" 命令。我得到 "IdentificationAccept"。但是我现在不能在没有音频命令的情况下使用 USB 音频...

拒绝的 IdentificationInformation ID15 十六进制转储: 00 1C 00 0F //组header 00 06 00 00 // 参数 0 header 0A 01 //组件标识 00 07 00 01 // 参数 1 header 73 61 00 //名称字符串 00 04 00 02 //parmeter 2 header(only header表示传输支持iap2) 00 07 00 03 //参数3 header 06 07 08 //采样枚举 val(32k,44.1k,48k)

在弄清楚你的十六进制转储数据后,我发现问题出在采样率参数上。每个采样率都需要 id3 参数。

正确的十六进制转储:

00 24 00 0F //group header 
00 06 00 00 // parmeter 0 header 
0A 01       //component id 
00 07 00 01 // parmeter 1 header 
73 61 00    //name string 
00 04 00 02 //parmeter 2 header(only header,means transport support iap2) 
00 05 00 03 //parmeter 3 header 
06          //samplerate enum val(32k)
00 05 00 03 //parmeter 3 header 
07          //samplerate enum val(44.1k)
00 05 00 03 //parmeter 3 header 
08          //samplerate enum val(48k)