2012-08-06 2 views
3

내 앱이 실행될 때 사용자가 드롭 박스에 로그인했는지 여부를 확인합니다. 존재하는 경우 dropbox와 관련된 코드로 계속 진행됩니다. 그렇지 않은 경우 [[DBSession sharedSession] link];을 사용하여 로그인 화면을 표시합니다.iOS에서 Dropbox API로 로그인하려면 어떻게해야합니까?

-(void)sessionDidReceiveAuthorizationFailure:(DBSession *)session userId:(NSString *)userId { 
    [[DBSession sharedSession] link]; 
} 

을하지만, 인증이 성공하면 뭔가가있을 것 같지 않습니다 : 로그인 화면에서

는 인증이 실패 할 경우,이 대리자를 온다. 이 시나리오를 어떻게 처리합니까? Dropbox에 연결되면 필요한 코드를 실행해야합니다.

답변

5

당신은

-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url 함수에서 보관 용 API에서 성공적으로 로그인을 처리

-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url { 


    if ([[DBSession sharedSession] handleOpenURL:url]) { 
     //Successfully Logged in to Dropbox 
     return YES; 
    } 

    return NO; 

}

+0

좋아, 좋은, 감사 – Andrew

1

applicationDidFinishLaunching의 일환으로 드롭 박스 API를 시작할 수 있습니다. 다음 작업을 수행 할 수 있습니다.

dispatch_async(dispatch_get_main_queue(), ^{ 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    DBSession* dbSession = [[[DBSession alloc] initWithAppKey:@"appKey" appSecret:@"appSecret" root:kDBRootAppFolder] autorelease]; 
    dbSession.delegate = self; 
    [DBSession setSharedSession:dbSession]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:kSharedSessionAvailability object:[NSNumber numberWithBool:dbSession != nil ? YES : NO]]; 
}); 

그러나 일반적으로 세션을 가져 와서 restClient를 통해 나중에 사용하면됩니다.