본문 바로가기

Development/IOS & Mac

[iOS] facebook iOS 단말기에 있는 유저 정보 가져오기

Facebook SDK를 사용하지 않고 단말기에서 내부적으로 연동되어있는 아이디 정보를 가져오는 방법이다.

프레임워크는 Social.framework 와 Accounts.framework를 추가해야 한다.


m_accountStore = [[ACAccountStore allocinit];

ACAccountType *facebookAccountType = [m_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

NSDictionary *options = @{ACFacebookAppIdKey : s_facebookApiKey,

  ACFacebookPermissionsKey : @[@"email"],

  ACFacebookAudienceKey:ACFacebookAudienceFriends};

[m_accountStore requestAccessToAccountsWithType:facebookAccountType

options:options

     completion:^(BOOL granted, NSError *error) {

 

if (granted) {

   NSArray *accounts = [m_accountStore accountsWithAccountType:facebookAccountType];

SLRequest *request = [SLRequest requestForServiceType:SLServiceTypeFacebook

   requestMethod:SLRequestMethodGET

URL:[NSURL URLWithString:@"https://graph.facebook.com/me"]

parameters:nil];

[request setAccount:[accounts lastObject]];

[request performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {

     if (error == nil && ((NSHTTPURLResponse *) urlResponse).statusCode == 200) {

NSDictionary *userDic = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];

~~~ 처리하기~!

}//end if

}];

 

}//end if


}];