EADemo がどのように機能し、外部アクセサリ フレームワークがどのように機能するかを理解しようとしています。EADemo は以下から入手できます。
http://developer.apple.com/library/ios/#samplecode/EADemo/Introduction/Intro.html
私がやりたいのは、AppleのEADemoプロジェクトを変更して、受信したバイト数をカウントするだけでなく、受信したバイト数を表示することです(ASCIIタイプの文字であると仮定します)..だから私はEASessionTransferViewController.mを変更しました.
- (void)_sessionDataReceived:(NSNotification *)notification
{
EADSessionController *sessionController = (EADSessionController *)[notification object];
uint32_t bytesAvailable = 0;
while ((bytesAvailable = [sessionController readBytesAvailable]) > 0) {
NSData *data = [sessionController readData:bytesAvailable];
if (data) {
_totalBytesRead += bytesAvailable;
}
}
[_receivedBytesLabel setText:[NSString stringWithFormat:@"Bytes Received from Session: %d", _totalBytesRead]];
}
@end
に...
- (void)_sessionDataReceived:(NSNotification *)notification
{
EADSessionController *sessionController = (EADSessionController *)[notification object];
uint32_t bytesAvailable = 0;
while ((bytesAvailable = [sessionController readBytesAvailable]) > 0) {
NSData *data = [sessionController readData:bytesAvailable];
if (data) {
_totalBytesRead += bytesAvailable;
NSString *asciiStringFromData = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
}
}
[_receivedBytesLabel setText:[NSString stringWithFormat:@"ASCII bytes read: %@", asciiStringFromData]];
}
@end
しかし、これはまったく機能していません。前回試したときは何も表示されませんでした。受信したASCII文字または文字列をエコーバックするBluetoothボードに接続されていました。
誰か助けてくれませんか?