2014-01-13 52 views
1

我在我的iOS應用程序上使用SkyDrive,一切正常,直到我關閉我的應用程序,當我再次打開它,我必須再次驗證用戶。我用這個代碼:SkyDrive for iOS:保持用戶登錄

- (id)init 
{ 
    self = [super init]; 

    if (self) { 
     self.clientID = @"my id"; 
     self.scopes = @[@"wl.signin", @"wl.skydrive", @"wl.skydrive_update"]; 

     self.liveClient = [[LiveConnectClient alloc] initWithClientId:self.clientID 
                  scopes:self.scopes 
                 delegate:self 
                 userState:@"initialize"]; 
    } 

    return self; 
} 

這是在用戶首次登錄,當我點擊按鈕:

- (void)signInFromViewController:(UIViewController *)viewController 
{ 
    if (_liveClient) { 
     if (self.liveClient.session == nil) { 
      [self.liveClient login:viewController 
         scopes:self.scopes 
         delegate:self 
        userState:@"signin"]; 
     } 
    } 
} 

而且LiveAuthDelegate方法;

- (void)authCompleted:(LiveConnectSessionStatus)status 
      session:(LiveConnectSession *)session 
     userState:(id)userState 
{ 
    if ([userState isEqual:@"signin"]) { 
     if (session != nil) { 
      NSLog(@"Signed in"); 
     } else { 
      NSLog(@"Auth error"); 
     } 
    } 
} 

我該怎麼辦呢?當userState初始化時,可能在authCompleted方法中有一些東西?

回答