Iphone 使用SDK登录facebook
如果用户在其iPhone设置中设置了facebook帐户,我可以获得用户配置文件权限。为此,我使用了以下代码:Iphone 使用SDK登录facebook,iphone,objective-c,facebook,ios6,Iphone,Objective C,Facebook,Ios6,如果用户在其iPhone设置中设置了facebook帐户,我可以获得用户配置文件权限。为此,我使用了以下代码: if(!_accountStore) _accountStore = [[ACAccountStore alloc] init]; ACAccountType *facebookTypeAccount = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
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登录页面,这样用户就可以在不进入iPhone设置的情况下登录他的facebook帐户。那么我们如何通过SDK打开facebook登录呢。请帮我解决这个问题
提前感谢。在这种情况下,如果您没有使用用户帐户(如果他/她没有在iOS设置中设置),您需要在应用程序上实现Facebook SDK()。这很简单,只需遵循以下步骤() 之后,您可以使用FBSession的
方法+openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:
执行用户登录
诚然,在我的应用程序中,我甚至没有尝试使用Apple的requestAccessToAccountsWithType:options:completion:登录用户
使用最新的Facebook SDK,默认行为是:
尝试使用iOS设置上的用户帐户设置登录李>
如果没有找到帐户,则尝试打开Facebook应用程序以请求登录/权限李>
如果设备上没有安装Facebook应用程序,它会在Safari上打开Facebook,作为备用
如果在电话设置中配置了facebook帐户,我在尝试登录facebook时遇到“FBSessionStateClosedLoginFailed”。我搞不懂。。为什么会发生这种情况。