ios swift facebook登录fb_mobile_login_native_app_switch_dialog_result错误

标签 ios swift facebook facebook-graph-api

我正在使用 facebook swift sdk。

当我点击登录按钮时,我收到此警告/错误:

FBSDKLog: Invalid identifier: 'fb_mobile_login_native_app_switch_dialog_result'. Must be between 1 and 40 characters, and must be contain only alphanumerics, _, - or spaces, starting with alphanumeric or _.

我的代码:

@IBAction func fbLoginBtnDidTouch(_ sender: AnyObject) {
        let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
        fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) -> Void in
            if (error == nil){

                let fbloginresult : FBSDKLoginManagerLoginResult = result!

                if (result?.isCancelled)! {
                    return
                }

                if(fbloginresult.grantedPermissions.contains("email"))
                {
                    self.getFBUserData()
                }
            }
        }
    }
    func getFBUserData(){
        if((FBSDKAccessToken.current()) != nil){
            FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, email"]).start(completionHandler: { (connection, result, error) -> Void in
                if (error == nil){
                    let fbJson = JSON(result ?? [])
                    if let fbId = fbJson["id"].string, let fbEmail = fbJson["email"].string {

                        self.fetchedFbId = fbId
                        self.fetchedFbEmail = fbEmail

                        var fbLoginParams = [String: Any]()

                        fbLoginParams["facebook_id"] = fbId

                        self.createFbAccount(fbLoginParams)
                    }
                }
            })
        }
    }

最佳答案

在您需要添加的应用程序目标下的 info.plist 文件中:

FacebookAppID

<key>FacebookAppID</key>
<string>123456789012345</string>

CFBundleURLTypes

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>fb123456789012345</string>
        </array>
    </dict>
</array>

LSApplicationQueriesSchemes:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
</array> 

从 Facebook 开发者门户检索到的 Facebook 应用程序 ID。

关于ios swift facebook登录fb_mobile_login_native_app_switch_dialog_result错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41233562/

相关文章:

ios - 在 iOS/Xcode 中将单个 View 转换为选项卡式应用程序

swift - 从 tableViewController 创建一个 segue 是在目标 viewController 中添加一个导航栏

swift - 如何从 Firebase 存储下载 URL 中删除查询字符串

facebook - 发送 Facebook 请求并获得礼物 FB API

ios - 使用 XIB 和 Outlets 加载自定义 UIView 的最佳策略

ios - native 和非 native iOS 应用程序的区别

iphone - 禁用自定义选择器中的特定行

ios - 桥接 header 中导入的文件数量是否会影响编译时间?

javascript - Facebook 被屏蔽,显示替代内容?

使用 webview 登录 android facebook