我正在尝试使用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
匹配。我还设置了“沙箱模式”。这就是我所需要的一切,对吧?出了什么问题?
另外,只是为了提供有关应用程序的更多信息,这个应用程序很简单。这是一个空应用程序,其中一个视图控制器显示一个按钮,其中一个目标运行我上面编写的代码。这就是应用程序的全部内容。
答案 0 :(得分:0)
检查developer.facebook.com以查看您的应用是否为沙盒。如果您的应用程序是沙盒并且您正在使用另一个Facebook帐户进行测试,那么授予将为NO。
答案 1 :(得分:0)
您可能需要做的是去developers.facebook.com
转到"应用"选项卡并选择您的应用。您可能需要将iOS平台添加到您的应用程序中。所以转到设置并点击"添加平台"。选择iOS并编写应用程序包ID。检查捆绑包是否相同。
编辑:您也可以打印返回的错误。也许您要求的是无法检索的无效权限或权限。在" Status and Review"中查看此内容。标签
来源:https://developers.facebook.com/docs/ios/getting-started/