它会在我的应用启动时检查用户是否登录到Dropbox。如果是,则继续使用与dropbox相关的代码。如果没有,它会使用[[DBSession sharedSession] link];
向他们显示登录屏幕。
如果授权失败,则从登录屏幕出现此代理:
-(void)sessionDidReceiveAuthorizationFailure:(DBSession *)session userId:(NSString *)userId {
[[DBSession sharedSession] link];
}
但是,授权成功时,似乎并没有什么。我该如何处理这种情况?我需要在他们与dropbox链接后开始运行必要的代码。
答案 0 :(得分:5)
您可以通过
中的Dropbox API成功登录 -(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url
功能
-(BOOL) application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if ([[DBSession sharedSession] handleOpenURL:url]) {
//Successfully Logged in to Dropbox
return YES;
}
return NO;
}
答案 1 :(得分:1)
作为applicationDidFinishLaunching的一部分,您可以启动dropbox 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获取你的会话并使用它。