我已经按照this指南更新了我的应用程序,以便在使用iOS 9 SDK构建时使用Facebook SDK 4.6正常工作.

当我现在点击登录按钮时,会出现一个Safari视图控制器(它不应该重定向到Facebook应用程序吗?),但在接受许可后,Safari view控制器永远不会被解除.它加载了一个新的空白页,然后什么也不做.如果我点击完成按钮,返回的FBSDKLoginManagerLoginResultisCancelled是真的.

SDK Select Safari view控制器而不是Facebook应用程序是正常的吗?为什么登录完成后我没有收到回电?

推荐答案

事实证明,在iOS 9上,当UIApplicationDelegateapplication:openURL:options:被实现时,application:openURL:sourceApplication:annotation:将不会被调用.

所以我要做的是从UIApplicationDelegateapplication:openURL:options:FBSDKApplicationDelegateapplication:openURL:sourceApplication:annotation:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options {
    return [[FBSDKApplicationDelegate sharedInstance] application:app
                                                      openURL:url
                                            sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                                   annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}

Objective-c相关问答推荐

反编译ARM64和理解分支目标边界

在 Objective-C 中完成受保护属性的解决方法

单例实例与类方法

禁用手势识别器

如何更改图像中的特定 colored颜色 ?

使用 ARC,什么更好:alloc 或 autorelease 初始化程序?

来自 NSString 的 NSJSONSerialization

在 iOS 和 Mac OS X 应用程序中使用 C++

dyld:找不到符号:try 运行 iOS 应用程序时的 _NSURLAuthenticationMethodClientCertificate

未知类型名称类;您指的是 'Class' 吗?

访问当前视图的父视图 - iOS

UITableView configureCellForDisplay:forIndexPath 中的断言失败:

iOS6:supportedInterfaceOrientations 不起作用(被调用但界面仍然旋转)

隐藏 NSTableView 标头?

UILabel 根据要显示的文本自动调整大小

如何检测 NSString 是否为空?

导航返回时重新加载 UITableView?

当 UIView 框架更改时,视图内的 AVPlayer 层不会调整大小

在 iOS 6.0 的 Xcode 4.5 中我没有要求的日志(log)消息

Foo 类在 MyApp 和 MyAppTestCase 中都实现了.将使用两者之一.哪个是未定义的