2013-02-19 65 views
0
- (void)authorize:(NSArray *)permissions { 
self.permissions = permissions; 

[self authorizeWithFBAppAuth:NO safariAuth:NO]; 

} 

好吧,上面的代碼是我想實現的。但是這段代碼給了我兩個錯誤。第一個是Facebook中沒有的屬性權限,第二個是實例授權authorizeWithFBAppAuth:未找到。這是共享套件2.0,所以也許這不起作用,但我需要停止Facebook應用程序彈出。附:我是一個Sharekit noob。Facebook的sharekit 2.0麻煩

 - (void)authorize:(NSArray *)permissions { 

// if we already have a session, git rid of it 
[self.session close]; 
self.session = nil; 
[self.tokenCaching clearToken]; 

self.session = [[[FBSession alloc] initWithAppID:_appId 
            permissions:permissions 
           urlSchemeSuffix:_urlSchemeSuffix 
           tokenCacheStrategy:self.tokenCaching] 
       autorelease]; 

[self.session openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) { 
    switch (status) { 
     case FBSessionStateOpen: 
      // call the legacy session delegate 
      [self fbDialogLogin:session.accessToken expirationDate:session.expirationDate]; 
      break; 
     case FBSessionStateClosedLoginFailed: 
      { // prefer to keep decls near to their use 

       // unpack the error code and reason in order to compute cancel bool 
       NSString *errorCode = [[error userInfo] objectForKey:FBErrorLoginFailedOriginalErrorCode]; 
       NSString *errorReason = [[error userInfo] objectForKey:FBErrorLoginFailedReason]; 
       BOOL userDidCancel = !errorCode && (!errorReason || 
                [errorReason isEqualToString:FBErrorLoginFailedReasonInlineCancelledValue]); 

       // call the legacy session delegate 
       [self fbDialogNotLogin:userDidCancel]; 
      } 
      break; 
     // presently extension, log-out and invalidation are being implemented in the Facebook class 
     default: 
      break; // so we do nothing in response to those state transitions 
    } 
}]; 
} 

上面這段代碼是與分享工具包2.0來了,如果有一種方法來阻止Facebook應用程序,在上面的代碼中彈出,請讓我知道原來。

回答

0

使用如下:

- (void)authorize:(NSArray *)permissions 
{ 
self.permissions = permissions; 

[self authorizeWithFBAppAuth:NO safariAuth:YES]; 

} 

再檢查。