ios - FBAppCall 从 Facebook 更新 4.x 中删除 - 在 Facebook 登录后返回应用程序

标签 ios objective-c facebook facebook-login bolts-framework

自更新到 Facebook 4.x 后,以下内容不再有效:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return [FBAppCall handleOpenURL:url sourceApplication:@"yyyyxxxxyyyxxxx" withSession:[PFFacebookUtils session]];
}

因为 application: handleOpenURL 已被弃用,并且 FBAppCall 已被删除以替换为 BFURL。

我试过阅读 Bolts documentation这表明以下内容:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {

    BFURL *parsedUrl = [BFURL URLWithInboundURL:url sourceApplication:sourceApplication];

//do something with parsedUrl if neccessary

...但是我不确定如何处理 BFURL。以前,此方法仅包含:

return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                              openURL:url
                                                    sourceApplication:sourceApplication
                                                           annotation:annotation];
    }

但现在每次我尝试登录 FB(未安装 FB 应用程序)时,它退出到 Safari,批准该应用程序,返回到我的应用程序,但重新启动它,并且无法登录。大约 4 后连续尝试,它有时会登录。我认为这是因为我没有正确处理返回到应用程序,但不确定要添加什么。

最佳答案

用这个替换旧的返回:

return [[FBSDKApplicationDelegate sharedInstance] application:app openURL:url sourceApplication:options[UIApplicationLaunchOptionsSourceApplicationKey] annotation:options[UIApplicationLaunchOptionsAnnotationKey]];

关于ios - FBAppCall 从 Facebook 更新 4.x 中删除 - 在 Facebook 登录后返回应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29566131/

相关文章:

objective-c - IBOutlet 类似于 Objective-C 运行时中的构造

ios - 如何创建对角线切割 View 以在配置文件屏幕中使用?

ios - 将未包装的引用传递给 Objective C 初始值设定项的问题

html - 响应式 - 在一定宽度上 Conceal facebook 页面插件

ios - 具有透明 View 的导航 Controller 的模态转场变为灰色

ios - 动画 UISlider 的缓冲区轨道变化?

iphone - 我怎样才能将加密数据插入sqlite。我在插入加密数据时遇到错误

android - 当 ParseLoginUI 加载微调器正在工作时, Activity 在后台可见

ios - Xcode 10 上的 FacebookCore Swift 编译器错误

ios - 在 iOS 中使用自定义单元格时无法查看 UITableViewCell