FBRequest requestForMe startWithCompletionHandler方法不在设备上工作

Jef*_*mes 2 iphone facebook simulator ios ios6

我已经按照Facebook开发者网站上关于将Facebook SDK 3.1集成到iOS 6中的所有指示.我的代码在iPhone 6.0模拟器上完美运行(用户可以登录Facebook),但是当我在iPhone上运行应用程序时,功能[ FBRequest requestForMe] startWithCompletionHandler]不生成响应.根据Facebook开发者网站的说法,它应该是成功的还是返回错误,但它既不会也不会.该应用程序只是坐在那里等待从未来的响应.我的代码如下:

- (void)populateUserDetails {
    if (FBSession.activeSession.isOpen) {
        [[FBRequest requestForMe] startWithCompletionHandler:
         ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
             if (!error) {
                NSLog(@"logged in");
             } else {
                 NSLog(@"error: %@", error);
             }
         }];
    } else {
       NSLog(@"no active session");
    }
}
Run Code Online (Sandbox Code Playgroud)

使用断点,我确定activeSession始终是打开的,因此实际上调用了startWithCompletionHandler:方法.也许这是一个构建问题,因为它在模拟器上运行良好?有任何想法吗?

Maz*_*yar 5

确保没有为您的App Store ID自动插入"0"值

App Store ID与Bundle ID不同.就像在Facebook上说的那样:"出于安全考虑,我们会在授权您的应用之前检查捆绑ID".因此,您应该将其设置为与Xcode中的完全相同.

但是App Store ID("我们可以在Facebook上链接的iPhone App Store ID")你在已经提交了应用程序并且已被接受时设置了它们.因此,出于开发目的,你应该将iPhone和iPad(如果有的话)设置为0,这样我就可以在Simulator和iPhone iOS 6.0上正常工作.

这不是因为0,也许你修复了别的东西?