多方查找 有两种方式
一. 不接入sdk 通过 QQ推广功能 发起临时会话必须打开的QQ开启了推广功能(http://shang.qq.com 这个网站开启), 否则打不开
//是否安装QQ
if([[UIApplicationsharedApplication] canOpenURL:[NSURLURLWithString:@"mqq://"]]) {
//用来接收临时消息的客服QQ号码(注意此QQ号需开通QQ推广功能,否则陌生人向他发送消息会失败)
NSString *QQ = @"370198623";
//调用QQ客户端,发起QQ临时会话
NSString *url = [NSStringstringWithFormat:@"mqq://im/chat?chat_type=wpa&uin=%@&version=1&src_type=web",QQ];
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:url]];
}
二. 接入sdk 通过api 发起临时会话这种方法没有QQ号限制,可以打开任意QQ会话界面 缺点就是需要集成sdk增加app大小(如果有分享功能已经接入sdk,可以直接使用)
NSString *QQ = @"370198623";
QQApiWPAObject *wpaObj = [QQApiWPAObject objectWithUin:QQ];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:wpaObj];
[QQApiInterface sendReq:req];
如果不行且返回 EQQAPIQQNOTSUPPORTAPI 错误需要在项目info.plist添加LSApplicationQueriesSchemes字段 类型Array添加 mqqwpa 这个scheme (必须是这个 别问为什么 我也不知道.)这样就搞定了.