ユーザーが iPhone 設定で 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 のログイン ページを開き、ユーザーが iPhone の設定に移動せずに自分の Facebook アカウントにログインできるようにします。では、SDK 経由で Facebook のログインを開くにはどうすればよいでしょうか。この問題から私を助けてください。
前もって感謝します。