如果用戶在他的iPhone設置中設置了Facebook帳戶,我可以獲得用戶個人資料權限。爲此,我使用了下面的代碼:使用SDK登錄Facebook
if(!_accountStore)
_accountStore = [[ACAccountStore alloc] init];
ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
[_accountStore requestAccessToAccountsWithType:facebookTypeAccount
options:@{ACFacebookAppIdKey: @"app_id", ACFacebookPermissionsKey: @[@"email"]}
completion:^(BOOL granted, NSError *error) {
if(granted){
NSArray *accounts = [_accountStore accountsWithAccountType:facebookTypeAccount];
_facebookAccount = [accounts lastObject];
NSLog(@"Success");
[self me];
}else{
NSLog(@"go to iphone settings");
}
}];
-(void)me
{
NSURL *meurl = [NSURL URLWithString:@"https://graph.facebook.com/me"];
SLRequest *merequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:meurl
parameters:nil];
merequest.account = _facebookAccount;
[merequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSString *meDataString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"%@", meDataString);
}];
}
如果用戶沒有設置自己的Facebook帳戶,然後控制就會轉移到別的部分即去iphone設置。在這部分內容中,我想打開Facebook登錄頁面,以便用戶能夠登錄他的Facebook帳戶,而無需進行iPhone設置。那麼我們怎麼能通過SDK打開Facebook登錄。請幫我解決這個問題。
在此先感謝。
我試圖與Facebook登錄的時候,如果一個Facebook帳戶在手機設置中配置了「FBSessionStateClosedLoginFailed」。我不知道爲什麼這是發生。 – 2014-07-11 05:00:52