ユーザーがFacebook経由でログインできるようにしてユーザーの情報を取得しようとしていました。私は情報を取得しようとしましたが、代わりにnull値を返します。何か間違っているのですか?私は作成したカスタムログインボタンを使用します。以下は私の現在のコードです。私は「情報がありません」と表示します。以下はFacebookにログインしているときにnull値を取得すると、ユーザーIDの電子メールIDを取得する3
@IBAction func fbLogin(_ sender: AnyObject) {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) -> Void in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult = result!
if fbloginresult.grantedPermissions != nil {
if(fbloginresult.grantedPermissions.contains("email"))
{
self.getFBUserData()
}
}else {
print("No information available")
}
}
}
}
FB
クラスAppDelegateのための私のAppdelegate.swiftコードです:私は最終的だったUIResponder、UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
}
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
return FBSDKApplicationDelegate.sharedInstance().application(application, open: url as URL!, sourceApplication: sourceApplication, annotation: annotation)
}
func applicationDidBecomeActive(_ application: UIApplication) {
FBSDKAppEvents.activateApp()
}
}
あなたが提供したコードに問題はないようです。 Facebookデベロッパーのウェブサイトにあるあなたの「Facebookアプリ」が正しく設定されていることを確認できますか? 「Bundle ID」はそれが機能するためには一致する必要があります。 –
こんにちはホアン、はい。私はそれを確認した。問題は、権限を要求するSafariビューを開き、OKをクリックすると何もせずにSafariビューにとどまります。私は完了をクリックすると、それは私がそれをキャンセルしたと考え、null値を返します。あなたはそれがなぜアプリケーションにリダイレクトされないのか知っていますか?私はxcode 8 beta 5を使用しています。私もこのリンクの修正を試みた - http://stackoverflow.com/questions/37903652/facebook-login-notgoing-back-to-app-when-migrated-to-swift-3?rq=1しかしそれdidnt仕事。 –
'Info.plist'ファイルを共有できますか?私はそれを見ることができるようにGitHub Gistに置くことができます。 –