Mac OS X Facebook登录失败 - 没有为应用程序存储remote_app_id

rus*_*ney 13 facebook objective-c osx-mountain-lion

我试图在Mac OS X 10.8上使用新的ACAccountStore功能通过Facebook登录但我收到一个错误:

Facebook服务器无法满足此访问请求:没有存储app的remote_app_id

当代码执行requestAccessToAccountsWithType消息时,它确实提示我访问Facebook(我允许),并且我确实在我的设置中存储了Facebook凭据.我还有另一个用于OS X旧版本的代码路径,它使用WebView控件登录到Facebook.它确实适用于相同的APP_ID.所以我应该在Facebook开发人员设置中正确设置应用程序.在那里我还缺少一些其他的配置?我在互联网上搜索"remote_app_id",然后我得到空集.

    ACAccountStore *account = [[ACAccountStore alloc] init];
    ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: FB_APP_ID, ACFacebookAppIdKey, [NSArray arrayWithObjects:@"email", nil], ACFacebookPermissionsKey, ACFacebookAudienceFriends, ACFacebookAudienceKey, nil];

    [account requestAccessToAccountsWithType:accountType options:options completion:^(BOOL granted, NSError *error) {
        if (granted) {
            NSArray *accountList = [account accountsWithAccountType:accountType];

            for (ACAccount *thisAccount in accountList) {
                NSLog(@"Found account: %@", [thisAccount accountDescription]);
            }
        }
        else {
            NSLog(@"Not granted because: %@", [error localizedDescription]);
        }
    }];
Run Code Online (Sandbox Code Playgroud)

适用于iPhone开发者的有用说明:100%展示此问题:

关于iPhone上的相同问题(此页面主要是谷歌登陆):问题是:在iPhone上,转到设置,左侧菜单Facebook,然后在正确的用户名/密码 - 登录Facebook.这就是"设置Facebook登录".如果iPhone实际上在"设置Facebook登录"上登录到FB,那么问题就会出现.如果您明确注销"设置Facebook登录"(实际上,可能是卸载FacebookApp),则问题将无法显示.

lup*_*tus 33

看起来你必须在Facebook应用程序设置中设置你的iOS/OSX应用程序的捆绑ID(在我的情况下固定的东西)

bundleID