ACAccountStore requestAccessToAccountsWithType:options:completion:返回nil错误并被授予NO

时间:2013-09-30 21:04:31

标签: ios facebook acaccount acaccountstore

我正在尝试使用ACAccountStore来测试登录,但是效果不是很好。

我正试图像这样访问帐户:

ACAccountStore *store = [ACAccountStore new];

ACAccountType *accountType = [store accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

NSDictionary *options = @{
                          ACFacebookAppIdKey:@"12345678987654",
                          ACFacebookPermissionsKey:@[@"email"]
                          };

[store requestAccessToAccountsWithType:accountType
                               options:options
                            completion:^(BOOL granted, NSError *error)
 {
     NSLog(@"Access Granted: %d", granted);
     NSLog(@"Error: %@", error);
 }];

但是,我的输出如下:

2013-09-30 16:58:08.084 Application[1009:1103] Access Granted: 0
2013-09-30 16:58:08.090 Application[1009:1103] Error: (null)

我确保developer.facebook网站上的“Bundle ID”和我的应用程序的Bundle Identifier匹配。我还设置了“沙箱模式”。这就是我所需要的一切,对吧?出了什么问题?

另外,只是为了提供有关应用程序的更多信息,这个应用程序很简单。这是一个空应用程序,其中一个视图控制器显示一个按钮,其中一个目标运行我上面编写的代码。这就是应用程序的全部内容。

2 个答案:

答案 0 :(得分:0)

检查developer.facebook.com以查看您的应用是否为沙盒。如果您的应用程序是沙盒并且您正在使用另一个Facebook帐户进行测试,那么授予将为NO。

答案 1 :(得分:0)

您可能需要做的是去developers.facebook.com

转到"应用"选项卡并选择您的应用。您可能需要将iOS平台添加到您的应用程序中。所以转到设置并点击"添加平台"。选择iOS并编写应用程序包ID。检查捆绑包是否相同。

编辑:您也可以打印返回的错误。也许您要求的是无法检索的无效权限或权限。在" Status and Review"中查看此内容。标签

setting iOS app on Facebook

来源:https://developers.facebook.com/docs/ios/getting-started/