मैं उपयोग कर रहा हूं;फेसबुक स्विफ्ट एसडीके 0.2.0 स्विफ्ट 3.1 लॉगिन पेज खुला रहता है
- तेज एसडीके 0.2.0 और
- तेज 3,1
तो, पर मेरे viewcontroller
(initial.swift
) मैं
import UIKit
import FacebookCore
import FacebookLogin
...
override func viewDidLoad() {
if let accessToken = AccessToken.current {
print("User is already logged in")
...
}
else {
let loginButton = LoginButton(readPermissions: [ .publicProfile, .email ])
loginButton.center = view.center
//AFTER ACTION
let loginManager = LoginManager()
loginManager.logIn([ .publicProfile, .email ], viewController: self)
{ loginResult in
switch loginResult {
case .failed(let error):
print(error)
break
case .cancelled:
print("User cancelled login.")
case .success(let grantedPermissions, let declinedPermissions, let accessToken):
print("Logged in!")
}
}
}
लॉग इन बटन के रूप में उम्मीद लेकिन अनुमति के बाद ही पता चलता है गया है पृष्ठ, श्वेत पृष्ठ खुला रहता है, जब मैं "पूर्ण" पर क्लिक करता हूं मैन्युअल रूप से ऐप सोचता है कि उपयोगकर्ता ने लॉगिन रद्द कर दिया है।
गायब ऐप delegate
फ़ंक्शंस (34734885) का सुझाव देने वाले समान थ्रेड हैं, लेकिन मुझे लगता है कि यह FBSDKCoreKit
और FBSDKLoginKit
के लिए एक समाधान है, न कि नए फेसबुक स्विफ्ट एसडीके के लिए। फिर, मुझे लगता है। कोई उपाय?
EDIT
मैंने यह भी कोशिश की है;
let myLoginButton = UIButton()
myLoginButton.backgroundColor = UIColor.darkGray
myLoginButton.frame = CGRect(0, 0, 180, 40);
myLoginButton.center = view.center;
myLoginButton.setTitle("My Login Button", for: UIControlState.normal)
// Add the button to the view
view.addSubview(myLoginButton)
// Handle clicks on the button
myLoginButton.addTarget(self, action: #selector(self.FBloginButtonClicked), for: UIControlEvents.touchUpInside)
@objc func FBloginButtonClicked() {
//AFTER ACTION
let loginManager = LoginManager()
loginManager.logIn([ .publicProfile, .email ], viewController: self)
{ loginResult in
switch loginResult {
case .failed(let error):
print(error)
break
case .cancelled:
print("User cancelled login.")
case .success(let grantedPermissions, let declinedPermissions, let accessToken):
print("Logged in!")
}
}
}
क्या आपने ऐपडिलेगेट में अपने आवेदन पर लौटने के लिए विधि लिख दी थी? –