iOS requestAccessToAccountsWithType 不显示权限提示/NSAlert

标签 ios facebook acaccountstore

据我了解,当我调用 [ACAccountStore requestAccessToAccountsWithType:options:completion] 时,用户应该会看到一个 UIAlert,询问他们是否授予我的应用程序权限。

当我运行这段代码时,从来没有提示,granted 变量始终为“false”

-(void)myfunction { 
if (!_accountStore) _accountStore = [[ACAccountStore alloc] init];

    ACAccountType *fbActType = [_accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];


    NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:
                             (NSString *)ACFacebookAppIdKey, @"##########",  
                             (NSString *)ACFacebookPermissionsKey, [NSArray arrayWithObject:@"email"],  
                             nil];


    [_accountStore requestAccessToAccountsWithType:fbActType options:options completion:^(BOOL granted, NSError *error) {
                                                NSLog(@"Home.m - getFBDetails - Check 2");
                                                if (granted == YES) {
                                                    NSLog(@"Success");
                                                    NSArray *accounts = [_accountStore accountsWithAccountType:fbActType];
                                                    _facebookAccount = [accounts lastObject];                                                    
                                                    [self me];
                                               } else {
                                                    NSLog(@"ERR: %@ ",error);
                                                    // Fail gracefully...
                                              }
            }
     ];

}

我收到错误:ERR: Error Domain=com.apple.accounts Code=8 "The operation couldn't be completed. (com.apple.accounts error 8.)"

更新:我做了一些测试,如果我使用 ACAccountTypeIdentifierTwitter 运行,我会收到连接到我的 Twitter 帐户的提示,所以我假设它与我的 Facebook 设置 ...

最佳答案

您的选项字典中有倒置的对象和键:

NSDictionary *options = [[NSDictionary alloc] initWithObjectsAndKeys:
                         @"##########",  ACFacebookAppIdKey,
                         [NSArray arrayWithObject:@"email"], ACFacebookPermissionsKey,
                         nil];

关于iOS requestAccessToAccountsWithType 不显示权限提示/NSAlert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469077/

相关文章:

javascript - 是否可以在多个域上运行 Facebook 应用程序?

ios - 调用renewCredentialsForAccount时如何处理 "ACAccountCredentialRenewResultRejected"消息

ios - 在 iOS 中使用 SLRequest 的 Facebook session

ios - 使用 CoreBluetooth 以编程方式启用/禁用蓝牙

iphone - 动画 CGContextFillRect

ios - 如何使用户从 twitter fabric ios 注销

android - 无法使用 keytool 和 OpenSSL 进行 Facebook Android SDK 安装

ios - 使用 Storyboard从 UITableviewcell 移动到 ViewController 并返回

Facebook API 返回 "Invalid OAuth access token signature."

iphone - Twitter 与 ACAccountStore 的集成问题 (iOS 5)