我正在尝试从Google,Yahoo获取访问令牌。但是我收到一个错误,例如WACloudAccessControlClient可能无法响应setToken。如何在此处声明setToken方法。
-(BOOL)webView:(UIWebView *)webView
shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType
{
if(_url)
{
/* make the call re-entrant when we re-load the content ourselves */
if([_url isEqual:[request URL]])
{
return YES;
}
[_url release];
}
_url = [[request URL] retain];
NSString* scheme = [_url scheme];
if([scheme isEqualToString:@"acs"])
{
// parse the JSON URL parameter into a dictionary
NSDictionary* pairs = [self parsePairs:[_url absoluteString]];
if(pairs)
{
WACloudAccessToken* accessToken;
accessToken = [[WACloudAccessToken alloc] initWithDictionary:pairs];
[WACloudAccessControlClient setToken:accessToken];
[self dismissModalViewControllerAnimated:YES];
}
return NO;
}
[NSURLConnection connectionWithRequest:request delegate:self];
return NO;
}
有什么想法吗?提前谢谢。
答案 0 :(得分:0)
您需要将消息传递给对象而不是类名,因此首先要获取对象的引用。
我不确定你的用例是什么,只需查看WACloudAccessControlClient
api它将有一些init
或...with...
方法来创建或获取对类的对象的引用
此:
[WACloudAccessControlClient setToken:accessToken];
应该是这样的(init...
方法组成,请替换为实际方法):
[[WACloudAccessControlClient initSomethingSomehow] setToken:accessToken];
你是否经历过这样的事情?:
[[WACloudAccessControlClient accessControlClientForNamespace:@“namespace-name”
realm:@“realm-name”]
setToken:accessToken];
修改强>
看看这个例子of how to interact with wa toolkit for iOS我刚刚浏览过,但它似乎有你想要的答案。