从未调用过PFFacebookUtils loginWithPermissions块

时间:2014-12-31 02:18:33

标签: ios facebook parse-platform facebook-login parsefacebookutils

我正在使用facebook登录测试应用。我做了一个按钮,当我点击它时,Facebook页面出现,在密码之后它就消失了。问题是永远不会调用来自[PFFacebookUtils loginWithPermissions]的块。这样我就无法预知我的segue。

我认为我拥有Parse和Facebook上的所有配置。所有类都在PrefixHeader中导入

Appdelegate方法已使用developer.facebook.com文档中的信息进行了更新。

PrefixHeader PrefixHeader

的AppDelegate AppDelegate

我的Root View控制器类 AppDelegate

2 个答案:

答案 0 :(得分:7)

经过很长时间我才明白了!

我不知道为什么,但我需要将AppDelegate代码更改为

 - (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        sourceApplication:(NSString *)sourceApplication
        annotation:(id)annotation {
        // attempt to extract a token from the url
     return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]];

}

并且现在没有调用块,因为我添加了“withSession:[PFFacebookUtils session]”。

我不知道为什么我必须这样做,因为在Facebook指南中它不是写的。 如果有人能解释我,我会很感激。

答案 1 :(得分:2)

对于那些坚持使用Swift 1.x的人,这解决了我的问题...当前的parse-ios-fb指南说要使用

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    println("open URL appdelgate callback")
    return FBSDKApplicationDelegate.sharedInstance().application(application,
        openURL: url,
        sourceApplication: sourceApplication,
        annotation: annotation)
}

但正在做

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
    return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession:PFFacebookUtils.session())
}

的工作原理。 Swift 1.2,Parse / ParseFacebookUtils 1.8.5,Facebook 4.3