ios - Facebook for swift 4.2 实施错误
问题描述
嗨,我正在开发一个需要 Facebook 登录按钮才能让我们的用户使用 facebook 帐户登录的项目。但问题是我遇到了错误。文档似乎很旧,并且无论如何都无法正常工作。这是为了迅速。
我的项目有 swift 4.2。在我的 pod 文件中,我使用了以下依赖项
pod 'FacebookCore'
pod 'FacebookLogin'
在我的 AppDelegate 下面是我的代码
import FacebookCore
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.shared.application(app, open: url, options: options)
}
我收到以下错误。无论我构建了多少次项目以及清理了多少次
错误:使用未解析的标识符“SDKApplicationDelegate”
请告诉我这里有什么问题?我必须在这里做什么以及我缺少什么。如果有一些好的 swift 教程,请分享给我一个链接
谢谢
解决方案
我发现了一个最近的项目实现FB登录。来了
在 Podfile 中
pod 'FBSDKLoginKit'
在 AppDelegate 中
import UIKit
import FBSDKCoreKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
ApplicationDelegate
.shared
.application(application,
didFinishLaunchingWithOptions: launchOptions)
...
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
return ApplicationDelegate.shared.application(app, open: url, options: options)
}
}
编辑 2019/10/29
使用https://developers.facebook.com/docs/swift/implement-the-sdk测试
播客文件:
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
应用委托:
import UIKit
import FacebookCore
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return ApplicationDelegate.shared.application(app, open: url, options: options)
}
}
看来他们在文档中犯了一个错误,SDKApplicationDelegate
必须重命名ApplicationDelegate
。
推荐阅读
- javascript - 安全地访问嵌套 javascript 对象内的属性
- javascript - 未捕获的错误:[$injector:nomod] 而 Angularjs 将代码分离为控制器和服务文件
- javascript - javascript Object.create:“直接”设置属性与在 propertiesObject 中声明的设置属性
- javascript - 无法从 Localstorage 读取 vuex 存储模块中 null 的属性“id”
- angularjs - 是否可以将信息从 Angular 组件传递到 AngularJS 组件?
- python - 触发一系列 Python 脚本的 API
- excel - Excel 工作簿工作表不会取消隐藏
- css - 使用 CSS 模块时无法在 Sass 中解析图像
- python - 使用请求登录 seedr.cc
- dart - 尝试初始化 StreamSubscription 时应用程序崩溃