【发布时间】:2015-05-16 01:13:32
【问题描述】:
我正在尝试在我的应用程序中实现 Nest Thermostat 我可以成功完全创建 pin 身份验证代码,但是
--->我在存储该 pin 身份验证代码时遇到了问题,因为在检查 if 条件 if ([[url host] isEqualToString:[redirectURL host]]) 之后,
--->如果条件成功则条件总是失败,那么只有我可以存储它并通过使用它来获取访问令牌(根据库)
我按照 Nest 示例代码和库和在线解决方案做了没有用我正在寻找挑选手
请参考我的代码
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSURL *url = [request URL];
NSURL *redirectURL = [[NSURL alloc] initWithString:RedirectURL];
if ([[url host] isEqualToString:[redirectURL host]])
{
NSString *urlResources = [url resourceSpecifier];
urlResources = [urlResources stringByReplacingOccurrencesOfString:QUESTION_MARK withString:EMPTY_STRING];
urlResources = [urlResources stringByReplacingOccurrencesOfString:HASHTAG withString:EMPTY_STRING];
NSArray *urlResourcesArray = [urlResources componentsSeparatedByString:SLASH];
NSString *urlParamaters = [urlResourcesArray objectAtIndex:([urlResourcesArray count]-1)];
NSArray *urlParamatersArray = [urlParamaters componentsSeparatedByString:AMPERSAND];
NSString *keyValue = [urlParamatersArray lastObject];
NSArray *keyValueArray = [keyValue componentsSeparatedByString:EQUALS];
if([[keyValueArray objectAtIndex:(0)] isEqualToString:@"code"]) {
[self.delegate foundAuthorizationCode:[keyValueArray objectAtIndex:1]];
} else {
NSLog(@"Error retrieving the authorization code.");
}
return NO;
}
return YES;
}
显示 pin 的 webview 是我只能看到的屏幕。在那之后我击中了它。迫切需要帮助
【问题讨论】:
-
任何关于它的帮助都会很棒.....
-
请分享代码将在这里执行的过程..以及一些示例重定向网址
标签: ios iphone cocoa-touch firebase nest-api