Ambiguous Link to LoginManager Facebook sdk swift

I integrated facebook-sdk-swift manually in my ios project in xcode8, following the docs [ https://developers.facebook.com/docs/swift/getting-started] . I get an error

"An ambiguous reference to the logIn member (_: viewController: completion :)"

my code

   loginManager.logIn(["public_profile","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!") }

Any help please?

+4
source share
4 answers

Swift 3 statement that works:

let loginManager = LoginManager()        
loginManager.logIn(readPermissions: [.publicProfile], viewController: nil) { loginResult in
        switch loginResult {
        case .failed(let error):
            print(error)
        case .cancelled:
            print("User cancelled login.")
        case .success( _, _, _):
            print("Logged in!")
        }
    }
+4
source

Give enum values ​​for permissions and do not set viewController.

//...

loginManager.logIn([.publicProfile, .email], viewController: nil) { results in

//...
+1
source

, ,

0
source

For those who have been following "Facebook Login in Swift - Getting Started" and stumbled upon this question, you should replace .PublicProfile with. publicProfile, also cases in LoginResult start with lowercase letters, so also replace them

0
source

Source: https://habr.com/ru/post/1660075/


All Articles