gpt4 book ai didi

ios - 使用 Facebook 登录时从未调用过 PFLoginViewController didLogin

转载 作者:行者123 更新时间:2023-11-29 12:34:47 24 4
gpt4 key购买 nike

我遇到了同样的问题 here .最终找到的解决方案是打破 plist 文件中的 URL 方案,这样当登录 Facebook 时,你永远不会离开应用程序去 Safari,而是通过应用程序内的 Web View 登录。但是,这似乎很不方便,因为它不像 Safari 那样保存用户凭据。

为什么在 webview 中加载 facebook 时会调用 PFLoginViewController didLogin,但在 safari 中加载 facebook 时不会调用 PFLoginViewController didLogin,我该如何解决这个问题。不仅仅是它没有被调用,而且用户也没有被创建,因为 [PFUser currentUser] 在使用 safari 加载 facebook 后返回 nil。

最佳答案

这很麻烦,但实际上很容易解决。我追溯我的步骤,意识到我不小心删除了我的回调方法。他们在这里:

// Facebook oauth callback
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [FBSession.activeSession handleOpenURL:url];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication withSession:[PFFacebookUtils session]];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBAppCall handleDidBecomeActiveWithSession:[PFFacebookUtils session]];
}

试一试,如果这能解决您的问题,请告诉我。我不是 100% 确定这是否是这样做的方法,因为我有一个旧的不推荐使用的例子要看。这是执行此操作的旧的已弃用方法:

// Facebook oauth callback
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [PFFacebookUtils handleOpenURL:url];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [PFFacebookUtils handleOpenURL:url];
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
// Handle an interruption during the authorization flow, such as the user clicking the home button.
[FBSession.activeSession handleDidBecomeActive];
}

关于ios - 使用 Facebook 登录时从未调用过 PFLoginViewController didLogin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26661159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com