2012-10-31 54 views
3

我的應用程序使用Facebook登錄來認證用戶,我聽說facebook集成成爲iOS SDK本身內部,如何做Facebook登錄iOS 6?

現在,如果集成成爲iOS本身內部,我可以使用它來登錄,而無需導入facebook SDK如果是的話?我的應用程序也會運行iOS 6作爲發佈目標?

回答

12

嗯,你必須在添加Social.framework到項目的第一位。

第2步:您需要導入兩個classes.Import所需的類。

#import <Social/Social.h> 
#import <Accounts/Accounts.h> 

步驟3:我前進在您在您的應用程序有Facebook的按鈕的假設。點擊按鈕,寫下這些行。你完成了。 :-)

- (IBAction)facebookButtonClicked:(id)sender 
{ 
    if([SLComposeViewController isAvailableForServiceType: SLServiceTypeFacebook]) 
    { 
     // Facebook Service Type is Available 

     SLComposeViewController *slVC = [SLComposeViewController composeViewControllerForServiceType: SLServiceTypeFacebook]; 
     SLComposeViewControllerCompletionHandler handler = ^(SLComposeViewControllerResult result) 
     { 
      if (result == SLComposeViewControllerResultCancelled) 
      { 
       NSLog(@"Cancelled"); 

      } 
      else 
      { 
       NSLog(@"Done"); 
      } 

      [slVC dismissViewControllerAnimated:YES completion:Nil]; 
     }; 
     slVC.completionHandler   = handler; 
     [slVC setInitialText:@"Test Post from iOS6"]; 
     [slVC addURL:[NSURL URLWithString:@"http://www.apple.com"]]; 
     [slVC addImage:[UIImage imageNamed:@"someimage.png"]]; 

     [self presentViewController:slVC animated:YES completion:Nil]; 
    } 
    else 
    { 
     NSLog(@"Service Unavailable!!!"); 
    } 
} 

以上給出的是基本步驟。欲瞭解更多,你可以參考This

編輯:對於Facebook用戶信息,請參閱answer

快樂編碼。 :-)

+0

不錯的答案,+1。 –

+0

我如何獲得用戶名,電子郵件和訪問令牌? –

+0

請參閱編輯。 –

2

無論如何,您需要導入Facebook SDK 3.x。唯一的區別是,如果用戶已經使用本地Facebook集成登錄,則在用戶嘗試登錄時,您的應用程序不會發送到後臺。換句話說,登錄不會打開Facebook的網頁或可選安裝的Facebook應用程序。Ios顯示一個uilaertview,其中說你的應用程序想訪問Facebook的螞蟻這就是所有。如果用戶點擊確定,你的應用程序將被allwed,你可以看到它在設置應用程序unde facebook。

從實施的角度來看,它沒有任何區別。您可以在Facebook開發人員主頁上使用該教程。

http://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

+2

Facebook的文檔真的很爛! – Abo3atef