2014-02-06 50 views
2

我使用的是貼在我前面的問題的代碼片段,Simple way to add Facebook/Twitter share to app?SLComposeViewController「臉譜不可用」

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 
    SLComposeViewController *slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 

    [slComposeViewController setInitialText:@"Your text"]; 
    [slComposeViewController addImage:[UIImage imageNamed:@"NameOfImage"]]; 
    [self presentViewController:slComposeViewController animated:YES completion:nil]; 
} else { 
    //Show alert or in some way handle the fact that the device does not support this //feature 
    NSLog(@"Facebook not available"); 
} 

但是,當我在設備上運行它,並在模擬器中所有我得到的是「Facebook不可用」,我可能做錯了什麼?

我已經看過可用的教程,我已經包含了所需的庫,所以我不知道我在做什麼錯了。

+1

如果FaceBook的賬戶沒有在Setting.app中設置,那就是noral。 – Larme

+0

那麼註冊Facebook/Twitter的人沒有問題嗎?只有當你沒有設置這些服務時,它纔會說它不可用? – Phil

+0

SLComposerViewController允許用戶在FaceBook上發佈消息。但是,你怎麼知道要使用哪個帳戶?請記住,要使用FaceBook,您必須創建一個帳戶或登錄。 Apple從iOS6開始引入了來自Settings.app的登錄,這裏是您的問題的關鍵。如果用戶未登錄,則不會發布FaceBook。 – Larme

回答

2

Settings.app/Facebook,您需要設置一個帳戶。 SLComposeViewController只允許你在FaceBook上發帖,如果你有一個帳戶。這是正常的行爲,這就是FaceBook的工作原理:沒有帳號,那裏沒有任何事情要做。
自iOS6開始,您可以在iOS中輸入您的帳戶,從而允許應用程序在一些iOS框架中使用此帳戶,而無需導入Facebook SDK。當然,你可以選擇Social.framework,如果你想做更多的事情,比如時間線等,你必須使用FaceBook SDK。