我是 Swift 的新手,遇到 [.publicProfile] 的错误。
Type of expression is ambiguous without more context error
代码:
let loginManager = LoginManager()
loginManager.loginBehavior = LoginBehavior.native;
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 \(grantedPermissions) \(declinedPermissions) \(accessToken)")
}
}
方法签名:
loginManager.logIn(<#T##permissions: [ReadPermission]##[ReadPermission]#>, viewController: <#T##UIViewController?#>, completion: <#T##((LoginResult) -> Void)?##((LoginResult) -> Void)?##(LoginResult) -> Void#>)
最佳答案
在最近更新的 FacebookLogin API 中,您应该在第一个参数之前添加参数名称:
loginManager.logIn(readPermissions: [ .publicProfile], ...
关于ios - Swift 3 为 facebook 登录返回 "Type of expression is ambiguous without more context"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40725396/