ios - 在没有更多上下文的情况下,表达式类型不明确 - 在 Facebook 包装器中

标签 ios swift facebook swift3

我是 Swift 和 iOS 的新手,这里发生了一些有趣的事情。

在我的 ViewController 中,我正在使用这段代码并且它运行良好。

let loginManager = LoginManager()


loginManager.logIn([ .publicProfile, .email ], viewController: self) { loginResult in
    switch loginResult {
    case .failed(let error):
        print(error)
    case .cancelled:
        print("User cancelled login.")
    case .success(let grantedPermissions, let declinedPermissions, let accessToken):
        print("Logged in!\(accessToken)")
    }
}

当我把它放在其他类中时,例如 LoginService 我得到了一个错误

Type of expression is ambiguous without more context

这是 LoginService 类的函数

  func doFaceBookLogin(viewController: UIViewController?) {
        let loginManager = LoginManager()

        loginManager.logIn([ .publicProfile, .email ], viewController) { loginResult in
            switch loginResult {
            case .failed(let error):
                print(error)
            case .cancelled:
                print("User cancelled login.")
            case .success(let grantedPermissions, let declinedPermissions, let accessToken):
                print("Logged in!\(accessToken)")
            }
        }
    }

我这里做错了什么?

最佳答案

你应该这样写。它对我有用..

loginManager.logIn(readPermissions: [.publicProfile, .email], viewController: self) { (loginResult) in

}

关于ios - 在没有更多上下文的情况下,表达式类型不明确 - 在 Facebook 包装器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40973214/

相关文章:

php - Facebook OAuth 错误 : Application request limit reached

ios - 如何从 native 应用程序制作 .ipa 文件

IOS - Facebook 登录按钮 : Unrecognized selector error

ios - 如何在 iTunes 中正确取消支持 iPad

ios - 检查 Double 中的百分位值

ruby - Sinatra session 自动销毁

iphone - 按取消按钮不会缩回

swift - 如何在 ReactiveKit 中使用 ReplaySubject

ios - xcode cocoapods 库未找到错误

objective-c - Facebook 移动 Feed 中的损坏(灰色)缩略图?