先回复您第一个问题:
client 已经执行了 open 方法就等于「用户登录」了,一定会是在线状态。
请提供第一个问题中用户 login 以及 client open 的日志(Request 和 Response)。
打开调试日志的方法:
// 放在 SDK 初始化语句 [AVOSCloud setApplicationId:] 后面,只需要调用一次即可
[AVOSCloud setAllLogsEnabled:YES];
控制台粘贴类似下面格式的日志出来,可以从日志中看出是否登录成功。
------ BEGIN LeanCloud REST Request -------
path: /1.1/login
curl: curl -i -k -X POST -d '{"username":"Tom","password":"123"}' --compressed -H 'Accept: application/json' -H 'Content-Type: application/json; charset=utf-8' -H 'X-LC-Id:gzGzoHsz' -H 'X-LC-Prod: 1' -H 'User-Agent: AVOS Cloud iOS-v11.4.7 SDK' -H 'X-LC-Session: 4zmolzw4hhet5gvz93zjtq9mw' -H 'Accept-Encoding: gzip' -H 'Accept-Language: en;q=1' "https://jmbpc7y4.api.lncld.net/1.1/login"
------ END --------------------------------
------ BEGIN LeanCloud REST Response ------
path: /1.1/login
cost: 35.396ms
response: {
createdAt = "2019-01-25T07:10:06.893Z";
defaultName = aaa;
emailVerified = 0;
mobilePhoneVerified = 0;
objectId = 5c4ab64e9f5454004b313029;
sessionToken = 4zmolzw4hhet5gvz93zjtq9mw;
updatedAt = "2019-01-25T07:10:06.893Z";
username = Tom;
}
------ END --------------------------------
------ BEGIN LeanCloud REST Request -------
path: /1.1/rtm/sign
curl: curl -i -k -X POST -d '{"session_token":"4zmolzw4hhet5gvz93zjtq9mw"}' --compressed -H 'Accept: application/json' -H 'Content-Type: application/json; charset=utf-8' -H 'X-LC-Id: X-LC-Id' -H 'X-LC-Prod: 1' -H 'User-Agent: AVOS Cloud iOS-v11.4.7 SDK' -H 'X-LC-Session: 4zmolzw4hhet5gvz93zjtq9mw' -H 'Accept-Encoding: gzip' -H 'Accept-Language: en;q=1' "https://jmbpc7y4.api.lncld.net/1.1/rtm/sign"
------ END --------------------------------
2019-01-25 15:10:14.000986+0800 ChatDemo[12342:864955] [💚DEBUG] -[AVPaasClient performRequest:success:failure:wait:]_block_invoke [Line 689]
------ BEGIN LeanCloud REST Response ------
path: /1.1/rtm/sign
cost: 26.226ms
response: {
"client_id" = 5c4ab64e9f5454004b313029;
nonce = n2gyzg8dls;
signature = e04dd020d9d3bdb150ce2053a9bcbe46f95620ad;
timestamp = 1548400213996;
}
------ END --------------------------------