- (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的错误吗?
答案 0 :(得分:0)
终于解决了:
1. 硬件方按StatusExternalAccessoryProtocolSession
Accessory Interface Specification R27.pdf
命令
奇怪的是,在低于11.2的版本中,会话能够在没有此命令的情况下设置成功。