har*_*esh 6 chat xmpp privacy ios quickblox
我正在创建一个基于聊天的Application on QuickBloxFramework,我希望在App中有一个块功能.我读了一些像XMPP和QuickBlox.但没有得到任何帮助.
有一些逻辑维持QBPrivacyList不允许其他用户发送消息并阻止它但我没有成功.
这是我如何维护隐私列表的代码片段.
@"public"在聊天方法登录时使用姓名获取隐私列表
[[QBChat instance] retrievePrivacyListWithName:@"public"];
Run Code Online (Sandbox Code Playgroud)
因此,如果已经创建了隐私列表,"public"则会在委托方法中获取它
- (void)chatDidReceivePrivacyList:(QBPrivacyList *)privacyList{
NSLog(@"chatDidReceivePrivacyList: %@", privacyList);
_blockPrivacyList = privacyList; // Save its instance for further add more users in list
}
Run Code Online (Sandbox Code Playgroud)
//响应是
[PrivacyList name: public]items:("type: USER_ID valueForType: 2075213 action: deny")
这是如何在隐私列表中添加其他成员
- (void)blockUserWithQBId:(NSUInteger)qbID
{
QBPrivacyItem *item = [[QBPrivacyItem alloc] initWithType:USER_ID valueForType:qbID action:DENY];
if (_blockPrivacyList) {
[_blockPrivacyList addObject:item]; // add new user if already privacy list is there
}else
_blockPrivacyList = [[QBPrivacyList alloc] initWithName:@"public" items:@[item]]; // create new privacy list if not before created
[[QBChat instance] setPrivacyList:_blockPrivacyList];
}
Run Code Online (Sandbox Code Playgroud)
并且所有委托方法都可以完美地创建并添加隐私列表中的成员.
- (void)chatDidSetPrivacyListWithName:(NSString *)name{
NSLog(@"chatDidSetPrivacyListWithName %@", name);
[[QBChat instance] setDefaultPrivacyListWithName:name]; // set it as default privacy list
}
Run Code Online (Sandbox Code Playgroud)即使我杀了应用程序或为同一用户重新安装它,我也能完美地获得此隐私列表.所以我的隐私列表代码工作正常
但是我的DENY隐私列表中的其他成员可以向我发送消息.根据http://quickblox.com/developers/SimpleSample-chat_users-ios#Contact_list中的文档,它应该给出错误
"error:Error Domain=com.quickblox.chat Code=503 "Service not available."
Run Code Online (Sandbox Code Playgroud)
因此,如果所有隐私列表都完美无缺,那么我的被阻止用户如何向我发送消息?
我合作过XMPP的iOS同样的问题也存在,如果你可以给XMPP逻辑也将作为QuickBlox作为QuickBlox实际使用XMPP本身.
有什么建议吗?
终于找到了它的解决方案。我在问题中所写的流程和逻辑是完美的。我只保留了激活隐私列表的一个小功能。不知道为什么QuickBlox没有在他们的演示中编写该函数调用。
[[QBChat instance] setActivePrivacyListWithName:@"public"];
Run Code Online (Sandbox Code Playgroud)
同样在 XMPP 中,我们需要维护隐私列表并同时激活单个隐私。
| 归档时间: |
|
| 查看次数: |
2151 次 |
| 最近记录: |