fbDidLogin未调用

Gli*_*tch 20 iphone facebook ios

所以,我一直在搞乱Facebook iOS SDK,从最新版本开始,我无法调用fbDidLogin方法.登录过程正常,在模拟器上使用Safari并在设备上运行时使用Facebook应用程序.但是,在登录后我会被转移回我的应用程序(我应该这样),但由于没有调用fbDidLogin方法,所以没有任何改变.就我的应用程序而言,我还没有登录.与SDK捆绑在一起的演示应用程序运行正常.所以我显然做错了什么,但我不知道如何检查什么.我对我自己的演示应用程序中使用的所有方法进行了三重检查,据我所知,一切看起来都一样.有关如何调试此问题的任何想法或想法?或者有没有人有类似的问题?

谢谢!

Jir*_*iri 32

我刚才遇到了同样的问题.我通过将以下代码添加到我的应用程序委托中来解决它:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [[controller facebook] handleOpenURL:url];
}
Run Code Online (Sandbox Code Playgroud)

控制器是我的UIViewController实例,facebook是我的Facebook实例.

您还需要注册您的应用程序以处理您的fb应用程序的URL方案(在Info.plist中执行此操作).


小智 6

一个常见的错误可能是在主应用程序委托中没有实现以下回调方法,但在其他地方.在从UIApplicationDelegate派生的类中实现此方法.这是iOS在上下文切换后调用以将应用程序恢复到前台时调用的入口点.

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
     // obtain facebook instance ref
     [ facebook handleOpenURL: url ];
   }
Run Code Online (Sandbox Code Playgroud)

如果您已正确创建FB应用程序ID并按照https://developers.facebook.com/docs/guides/mobile/#ios中的定义正确映射了URL,那么它应该可以正常工作.