Dan*_*Que 3 facebook ios swift
我正在使用新的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
}
Run Code Online (Sandbox Code Playgroud)
由于:
Use of unresolved identifier 'FBSDKApplicationDelegate'
Run Code Online (Sandbox Code Playgroud)
我通过添加以下内容来安装Swift SDK Podfile:
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
Run Code Online (Sandbox Code Playgroud)
跑步pod install.
我找不到更新的代码应该是什么.
他们的文档有点缺乏,但他们确实在他们的github存储库中提供了一个很好的示例应用程序.请参阅https://github.com/facebook/facebook-sdk-swift/blob/master/Samples/Catalog/Sources/AppDelegate.swift
这是我用来将SDK插入我的应用程序的代码(Swift 3):
import FacebookCore
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
if let _ = Bundle.main.object(forInfoDictionaryKey: "FacebookAppID") as? String {
return SDKApplicationDelegate.shared.application(application,
open: url,
sourceApplication: sourceApplication,
annotation: annotation)
}
return false
}
@available(iOS 9.0, *)
func application(_ application: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
if let _ = Bundle.main.object(forInfoDictionaryKey: "FacebookAppID") as? String {
return SDKApplicationDelegate.shared.application(application, open: url, options: options)
}
return false
}
}
Run Code Online (Sandbox Code Playgroud)
仅供参考 - facebook swift库基本上只是其标准objective-c库的包装器.
| 归档时间: |
|
| 查看次数: |
1971 次 |
| 最近记录: |