当您在用户输入其凭据时调用Fitbit认证时,fitbit将调用您的回调URL。所以 你需要像这样处理你的应用程序委托中的回调。
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
NSString *strUrl =[NSString stringWithFormat:@"%@",url];
if ([strUrl containsString:@"#_=_"]) {
[self saveFitbitCode:url];
return YES;
}
}
现在saveFitbitCode方法,我检索AUTH_CODE然后发送本地通知,以便它会调用另一功能的访问令牌。
-(void)saveFitbitCode:(NSURL *)url
{
NSString *strUrl =[NSString stringWithFormat:@"%@",url];
NSRange range1 = [strUrl rangeOfString:@"code="];
NSRange range2 = [strUrl rangeOfString:@"#_=_"];
NSRange rSub = NSMakeRange(range1.location + range1.length, range2.location - range1.location - range1.length);
NSString *sub = [strUrl substringWithRange:rSub];
[[NSUserDefaults standardUserDefaults] setObject:sub forKey:@"auth_code"];
[[NSUserDefaults standardUserDefaults] synchronize];
[[NSNotificationCenter defaultCenter] postNotificationName:@"callRequest" object:nil userInfo:nil];
}
我希望这会帮助你。