- (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?