1

我对 iOS 开发非常陌生。这是我的第一个应用程序,我遇到了大麻烦。我不知道如何从 RestKit 开始。自过去 3 周以来,我一直在尝试在我的 iOS 应用程序中实施 RestKit 身份验证。我环顾四周寻找了许多解决方案,但每个人都给出了不同的方法,因此无法提取对我有用的方法。

我已经准备好在我的 Android 应用程序中使用的 Web 服务。现在我想为 iOS 使用相同的 Web 服务。

因此,对于身份验证,我有一个以用户名和密码为参数的登录服务。返回一个布尔值(不是 JSON 或 XML,而是简单的 true 或 false)。所以我没有找到任何关于如何处理来自网络服务器的布尔类型响应的解决方案。

如果有人可以帮我解决这个问题。如果有人实施了类似的行为,那么请帮助我了解如何从休息套件开始。即如何发送请求以及如何访问服务器发送的响应。

我提供了一段我试图实现的代码。

RKURL * baseUrl = [RKURL URLWithBaseURLString:@"https://webserver.org/login"];

RKObjectManager * objectManager = [RKObjectManager objectManagerWithBaseURL:baseUrl];

objectManager.client.username = txtUserName.text;
objectManager.client.password = txtPassword.text;
objectManager.client.authenticationType = RKRequestAuthenticationTypeHTTPBasic;
objectManager.client.disableCertificateValidation = YES;

[objectManager loadObjectsAtResourcePath:[NSString stringWithFormat:@"%@?%@", [baseUrl      resourcePath], nil] delegate:self];

在此先感谢,任何形式的帮助将不胜感激。

4

1 回答 1

1

如果您的后端不返回对象(xml 或 json),则没有必要使用 RKObjectManager. RKClient相反,请尝试使用'sget:queryParameters:delegate:选择器直接发送请求,与RKObjectManager.

此外,您说您的 WS 将用户名和密码作为输入 - 如果您RKClient在凭据上设置用户名和密码属性,则将用于基本 HTTP 身份验证。字典应该包含您的 Web 服务的queryParameters任何输入参数。

例子:

[[RKClient sharedClient] get:myResource queryParameters:params delegate:self];

一定要实现委托

- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response

有关更多详细信息,请参阅文档

于 2012-08-02T07:15:31.687 回答