ios swift facebook登录 fb_mobile_login_native_app_switch_dialog_result 错误
Posted
技术标签:
【中文标题】ios swift facebook登录 fb_mobile_login_native_app_switch_dialog_result 错误【英文标题】:ios swift facebook login fb_mobile_login_native_app_switch_dialog_result error 【发布时间】:2016-12-20 01:23:24 【问题描述】:我正在使用 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)
)
【问题讨论】:
【参考方案1】:进入您需要添加的应用目标下的 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 错误的主要内容,如果未能解决你的问题,请参考以下文章
Facebook 使用 Parse SDK 登录(iOS 9、Xcode 7.1、Swift 2.1)
在 iOS9 和 Swift2 中使用 Parse 登录 Facebook
如果用户取消登录,Swift ios facebook登录会使应用程序崩溃