我使用Facebook登录在Swift 2中配置我的应用程序身份验证。
一切都在IOS模拟器上完美运行(IOS 8和9):用户点击“使用Facebook登录”,然后打开一个Safari页面,然后继续验证并最终正确记录用户:
但是当我尝试 Ipod Touch 时,总是阻止此消息抱歉,出现了问题我们正在努力,我们会尽快修复它,并且我的用户不会被记录:
我尝试了很多东西:
但仍然没有工作.. 任何帮助都将不胜感激!
这是我的代码:
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//For Facebook Login
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation)
}
ViewController.swift
class ViewController: UIViewController, FBSDKLoginButtonDelegate {
@IBOutlet weak var signInButtonFB: FBSDKLoginButton!
override func viewDidLoad() {
super.viewDidLoad()
//Configure Facebook
signInButtonFB.readPermissions = ["public_profile", "email", "user_friends"]
signInButtonFB.delegate = self
//Configure Facebook SignIn
if (FBSDKAccessToken.currentAccessToken() != nil)
{
print("Logged in !")
}
else
{
print("not logged")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: Facebook
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
print("Début login Button")
if ((error) == nil)
{
print("Login Complete")
returnUserData()
}
else {
print ("Voici l'erreur:"+error.localizedDescription)
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
print("User Logged Out")
}
答案 0 :(得分:0)
看起来我的应用Facebook仍处于开发模式.. 我忘记设置“联系人姓名”并允许我的应用程序公开访问。
为FACEBOOK APP设置:
我的应用 - >设置 - >基本 - >联系电子邮件= 提供有效的电子邮件
我的应用 - >状态和审核标签 - > “你想让这个应用程序及其所有实时功能向公众开放吗?” = 是
答案 1 :(得分:0)
我遇到了同样的问题。我通过检查登录权限来修复。 还要再次检查许可文本的拼写错误。 确保您在 developer.facebook.com 上的所有权限都已启用。