【发布时间】:2014-01-16 17:04:24
【问题描述】:
我正在尝试实现一个即时消息应用程序,用户可以在其中聊天以及将其他用户添加到他们的名单中并接受好友请求。因此,到目前为止,我已经能够实现聊天,并且还能够接收和接受/拒绝好友请求。
接受/拒绝订阅请求,代码如下:
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
{
NSString *presenceType = [presence type]; // online / offline
NSString *myUsername = [[sender myJID] user];
NSString *presenceFromUser = [[presence from] user];
NSString *presencefromStr=[presence fromStr];
if ([presenceType isEqualToString:@"subscribe"]) {
if(buttonIndex==1) { // For accept button
[xmppRoster acceptPresenceSubscriptionRequestFrom:[tmpPresence from] andAddToRoster:YES];
}
else { // For reject button
[xmppRoster rejectPresenceSubscriptionRequestFrom:[tmpPresence from]];
}
}
但是,现在我遇到了无法发送好友请求的问题。谁能指导我使用 XMPPRoster 的哪个功能?我尝试使用 subscribePresenceToUser 功能,但是没有用。任何帮助将不胜感激。
另外,有人可以判断我使用这种 XMPPRoster 订阅机制的方式是否正确,或者是否有更好的方式来处理 XMPPFramework 中的好友请求?
提前致谢。
【问题讨论】:
-
各位,我终于可以解决了。这是我想出的代码:
XMPPJID *jid = [XMPPJID jidWithString:self.addFriendField.text]; [xmppRoster addUser:jid withNickname:nil];此代码 sn-p 将请求发送给其他用户并将他们添加到他们的名册中。
标签: ios xmpp xmppframework