用于从Facebook获取用户信息的社交,帐户框架(个人资料图片,姓名等)

时间:2013-09-10 12:44:41

标签: ios facebook-graph-api ios6

这是我的facebook方法:

- (void)getMeFacebook{

    ACAccountStore *accountStore = [[ACAccountStore alloc] init];

    __block ACAccount *facebookAccount = nil;

    ACAccountType *facebookAccountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

    // Specify App ID and permissions

    NSDictionary *options = @{ACFacebookAppIdKey : @"1405219416361729",

                              ACFacebookPermissionsKey : @[@"email", @"publish_stream"],

                              ACFacebookAudienceKey:ACFacebookAudienceFriends};

    [accountStore requestAccessToAccountsWithType:facebookAccountType

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

     {
         if (granted)
         {
             NSArray *accounts = [accountStore accountsWithAccountType:facebookAccountType];

             facebookAccount = [accounts lastObject];

             NSLog(@"Granted!!!");

         }

         else {

             NSLog(@"error.localizedDescription======= %@", error.localizedDescription);

         }

     }];


    NSArray *accounts = [accountStore accountsWithAccountType:facebookAccountType];

    facebookAccount = [accounts lastObject];


    NSLog(@"Break 1");

调试代码时,它永远不会评估是否(授权),似乎方法requestAccessToAccountsWithType表现不正常。我已经在应用程序中检查了facebook设置但仍然无法正常工作。

对这个问题有什么看法吗?

1 个答案:

答案 0 :(得分:0)

经过几个小时的调试和研究后,我得到了解决方案,每当你必须在objective-c中调试一个方法的块(回调)时,它需要在块内添加额外的断点。

问题是同步问题,因为方法是在main.m中调用,而 UIAlert 请求允许访问iPhone中的Facebook数据永远不会出现。我将方法的调用移动到viewDidLoad,整个应用程序工作正常!