OSX ACAccountStore requestAccessToAccountsWithType ...返回&= 39;授予=否'拒绝权限后,错误= nil

时间:2015-01-20 16:46:05

标签: objective-c facebook macos acaccount acaccountstore

我正在尝试访问我的Facebook帐户。我第一次运行它很顺利,我看到弹出窗口请求权限。弹出窗口让我允许或否认。我选择否认因为我想测试那个用例。现在我无法弄清楚如何让它再次允许访问。我从我的Facebook帐户中删除了该应用程序,并从我的mac中删除了我的Facebook帐户。我也试过添加属性

@"auth_type": @"rerequest"

到选项词典。无论如何,我都会得到相同的结果。

正如标题中所提到的,错误是nil并且被授予为False。

提前致谢。

ACAccountType* accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

NSDictionary* options = @{
                          ACFacebookAppIdKey: [[NSBundle mainBundle] objectForInfoDictionaryKey:@"FacebookAppID"],
                          ACFacebookPermissionsKey: @[@"public_profile", @"email", @"user_friends"],
                          };

[accountStore requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError* error)
 {
        if (granted)
        {
            ACAccount* account = [[accountStore accountsWithAccountType:accountType] lastObject];
            macFacebookAccount = account;
        }
        else
        {
            NSLog(@"%@", error); 
        }
 }];

1 个答案:

答案 0 :(得分:0)

我解决了这个问题:应用的Facebook权限设置位于“系统偏好设置”>安全和隐私。从那里只需点击Facebook并选中你的应用旁边的框