我正在使用新的Facebook Swift SDK而不是Objective C SDK。
以前,必须实施openURL
中的AppDelegate.swift
。但是,Facebook的Swift教程并没有涉及这一部分。
记录以下内容:
Implementation of application:openURL:sourceApplication:annotation: not found. Please add the handler into your App Delegate. Class: Shoppie.AppDelegate
但我的实施不起作用:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: nil)
if (url.scheme?.hasPrefix("fb"))! {
return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String!, annotation: nil)
} else {
return GIDSignIn.sharedInstance().handle(url as URL!, sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String, annotation: nil)
}
return false
}
由于:
Use of unresolved identifier 'FBSDKApplicationDelegate'
我通过在Podfile
添加以下内容来安装Swift SDK:
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
正在运行pod install
。
我找不到更新的代码应该是什么。
答案 0 :(得分:7)
他们的文档有点缺乏,但他们确实在他们的github存储库中提供了一个很好的示例应用程序。见https://github.com/facebook/facebook-sdk-swift/blob/master/Samples/Catalog/Sources/AppDelegate.swift
这是我用来将SDK插入我的应用程序的代码(Swift 3):
m = [[1, 2],
[3, 4]]
仅供参考 - facebook swift库基本上只是其标准objective-c库的包装。
答案 1 :(得分:0)
我通过在Use of unresolved identifier 'FBSDKApplicationDelegate'
文件中添加以下内容来解决Bridging-Header.h
问题:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
进行这些更改后,登录工作正常。
似乎Facebook Swift SDK仍处于测试阶段,教程尚未更新。 (Github Issue)