eaframework输出流不适用于11.2.1

时间:2018-01-03 09:45:23

标签: ios objective-c nsstream external-accessory

- (void)_writeData {
    while (([[_session outputStream] hasSpaceAvailable]) && ([_writeData length] > 0))
    {
        NSInteger bytesWritten = [[_session outputStream] write:[_writeData bytes] maxLength:[_writeData length]];
        if (bytesWritten == -1) {
            NSLog(@"write error");
            break;
        } else if (bytesWritten > 0) {
            [_writeData replaceBytesInRange:NSMakeRange(0, bytesWritten) withBytes:NULL length:0];
            NSLog(@"bytesWritten %ld", (long)bytesWritten);
        }
    }
}

我的代码与上面的Apple官方演示完全相同,通过闪电端口与外部配件的通信工作正常,除了“iOS 11.2.1”。

我进行了调试,发现它确实执行了Outputstream发送数据的操作,但无论如何都无法检测到数据。

任何人都知道如何找出流中的内容? 这是Apple的错误吗?

1 个答案:

答案 0 :(得分:0)

终于解决了:

1. 硬件方StatusExternalAccessoryProtocolSession

中的说明发送Accessory Interface Specification R27.pdf命令

奇怪的是,在低于11.2的版本中,会话能够在没有此命令的情况下设置成功。