我正在尝试通过制作一个简单的对等蓝牙聊天应用程序来学习如何使用蓝牙连接。我刚接触GameKit和Bluetooth时遇到了一些问题,希望有人能为我提供帮助。我认为这是一个格式化问题,但我可能错了。基本上,当在两个设备之间发送消息时,我想在显示消息的UIAlertView弹出窗口中使用消息来自的设备的名称。例如,“约翰尼的Iphone说:...”

这是我处理AlertVIew的代码的一部分:

- (void) receiveData:(NSData *)data
        fromPeer:(NSString *)peer
       inSession:(GKSession *)session
         context:(void *)context {

//---convert the NSData to NSString---
NSString* str;
str = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:(@"Chat Message: %@", peer)
                                                message:str
                                               delegate:self
                                      cancelButtonTitle:@"REPLY"
                                      otherButtonTitles:nil];
[alert show];
[alert release];
}


在上面,我试图使用“ peer”来设置名称,但是它不起作用。我尝试将peer初始化为字符串,然后将其传递,但​​这也不起作用。在这两种情况下,我都会得到一个由9或10个数字组成的字符串,下面显示发送的任何消息。我在哪里错了,我应该怎么做?

最佳答案

使用[session displayNameForPeer:peer]将返回“显示名称”

09-25 21:14