将Facebook连接到Swift 4中的应用程序代表



我认为这是一个很容易的部分,但我无法理解。。

我明白了"https://developers.facebook.com/docs/facebook-login/ios"我想将Facebook登录添加到该项目中。

然而,将源代码添加到App Delegate是困难的。

我把它添加得这么简单,但它不起作用。

import FBSDKCoreKit
class AppDelegate: UIResponder, UIApplicationDelegate 
{
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[FBSDKApplicationDelegate sharedInstance] 
application:application
didFinishLaunchingWithOptions:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
];
return handled;
}
}

请告诉我把源代码正确地放在哪里。

Swift 5这也是截至发布日期Facebook当前SDK的版本。我会链接Facebook Swift文档,但它还没有更新,因为SDKApplicationDelegate已更改为ApplicationDelegate。

在您的didFinishLaunchingWithOptions中添加以下行:

let _ = ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)

在didFinishLaunchingWithOptions函数下面,添加此函数:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return ApplicationDelegate.shared.application(app, open: url, options: options)
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
let appId: String = SDKSettings.appId
if url.scheme != nil && url.scheme!.hasPrefix("fb(appId)") && url.host ==  "authorize" {
return SDKApplicationDelegate.shared.application(app, open: url, options: options)
}
return false
}

欲了解更多信息:-在此处输入链接描述

首先,不要在Swift项目中编写Objective C代码。这纯粹是为iOS编程的错误。

连接您的应用程序代表

将以下内容添加到您的AppDelegate类中。这将在应用程序启动时初始化SDK,并允许SDK在执行登录或共享操作时处理本机Facebook应用程序的结果。

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.sharedInstance().application(app, open: url, options: options)
}

推荐

要在Swift项目中安装Facebook,请遵循

https://developers.facebook.com/docs/swift/getting-started

返回Facebook文档"https://developers.facebook.com/docs/facebook-login/ios",并使用Swift的代码,在这里您已经在Swift项目中使用了Objective C代码

最新更新