Facebook Swift SDK:loginManager表达式类型不明确错误

Mar*_*cel 12 sdk facebook ios swift

我正在使用以下代码将Facebook登录添加到UIButton操作:

func facebookButtonClicked(sender: UIButton) {
    let loginManager = LoginManager()

    loginManager.logIn([.PublicProfile], 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")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Xcode抛出以下错误:

Type of expression is ambiguous without more context
Run Code Online (Sandbox Code Playgroud)

对于这[.PublicProfile]部分.

我在这里做错了什么想法?

小智 14

最终解决方案是这样的:

 let loginManager=LoginManager()
    loginManager.logIn(readPermissions: [ReadPermission.publicProfile], 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")
        }
    }
Run Code Online (Sandbox Code Playgroud)

Facebook尚未更新自己的代码示例......


Yin*_*iet 10

试试这个最新的SDK

func facebookButtonClicked(sender: UIButton) {
    let loginManager = LoginManager()

    loginManager.logIn(readPermissions: [.publicProfile], 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")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Sae*_* Ir 7

你应该在第一个参数之前添加readPermissons:

loginManager.logIn(readPermissions: [ .publicProfile], ...
Run Code Online (Sandbox Code Playgroud)