我正在开发一个聊天应用程序,并添加了用于聊天的 Quickblox 框架,但是在用户更新时出现以下错误:
Request method: PUT
Request headers: { "Content-Type" = "application/json"; "QB-SDK" = "iOS 2.0.12"; "QB-Token" = b9a57f30857d7591d6766dac7345d78bc1c9f588; "QuickBlox-REST-API-Version" = "0.1.1"; } Request parameters:{ user = { email = "[email protected]"; "full_name" = "abc xyz"; login = 1234567890; password = abcdefghij; phone = 1234567890; }; }
Request headers: { "Content-Type" = "application/json"; "QB-SDK" = "iOS 2.0.12"; "QB-Token" = b9a57f30857d7591d6766dac7345d78bc1c9f588; "QuickBlox-REST-API-Version" = "0.1.1"; }
Response headers: { "Access-Control-Allow-Origin" = "*"; "Cache-Control" = "no-cache"; Connection = "keep-alive"; "Content-Type" = "application/json; charset=utf-8"; Date = "Sun, 01 Feb 2015 18:59:19 GMT"; "QB-Token-ExpirationDate" = "2015-02-01 20:57:39 UTC"; "QuickBlox-REST-API-Version" = "0.1.1"; Server = "nginx/1.0.15"; Status = "422 Unprocessable Entity"; "Transfer-Encoding" = Identity; "X-Rack-Cache" = "invalidate, pass"; "X-Request-Id" = 17331b69e1b7a38d8545629e241733c8; "X-Runtime" = "0.013145"; "X-UA-Compatible" = "IE=Edge,chrome=1"; }
我使用了以下代码...
if (firstName.length > 0 || lastName.length > 0 || email.length > 0 || mobileNo.length > 0 || country.length > 0) {
QBUUser *user = [QBUUser user];
AppUser *AppUser = [AppUser user];
user.ID = AppUser.ID;
user.login = AppUser.login;
user.password = AppUser.password;
user.fullName = [NSString stringWithFormat"%@ %@",firstName,lastName];
user.email = email;
user.phone = mobileNo;
[QBRequest updateUser:user
successBlock:^(QBResponse *response, QBUUser *user) {
AppUser *AppUser = [AppUser user];
AppUser.country = country;
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle"Information" message"rofile updated successfully." delegate:nil cancelButtonTitle"OK" otherButtonTitles:nil];
[alertView show];
} errorBlock:^(QBResponse *response) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle"Error" message"Error while updating." delegate:nil cancelButtonTitle"OK" otherButtonTitles:nil];
[alertView show];
}];
} else {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle"Information" message"Fields can't be empty." delegate:nil cancelButtonTitle"OK" otherButtonTitles:nil];
[alertView show];
}
首先尝试通过删除(或注释掉)上述字段之一来更新用户对象,直到找到有问题的属性。您一次更新了这么多,以至于您不知道是哪一个导致了问题。
我怀疑登录属性是来源,因为我相信它是在注册时设置和修复的,因此之后无法更新。
关于在 Quickblox 中更新时 ios 无法处理的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28267386/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |