ユーザがクレデンシャルを入力した後に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];
}
これがあなたに役立つことを願っています。