Muh*_*lvi 22 facebook facebook-graph-api ios facebook-login
我正在使用Facebook登录为我的iOS应用程序开发iOS 8及更高版本.(正在使用最新的Facebook SDK)
我遵循了Facebook官方指南中描述的所有基本步骤.但是,当我单击登录按钮时,它会给我以下错误:
构建URL的未知错误(com.facebook.sdk.core错误3)
我已经检查过,看看我可能做错了什么,但一切似乎都按照指南,我已经被困在这里一天了.
FB登录代表的代码:
class FBLoginDelegate: NSObject, FBSDKLoginButtonDelegate {
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!){
if(error == nil){
print("Logged In from Btn")
}else{
print("Error: \(error.localizedDescription)") //Here it gives the error
}
}
}
Run Code Online (Sandbox Code Playgroud)
FB登录按钮代码:
var fbLoginBtnDelegate = FBLoginDelegate()
let fbBtnWidth = self.view.bounds.width - (self.fbContainerLeftConstraint.constant + self.fbContainerRightConstraint.constant)
let fbLoginButton = FBSDKLoginButton(frame: CGRectMake(0,0,fbBtnWidth,self.fbButtonContainer.bounds.size.height))
self.fbButtonContainer.addSubview(fbLoginButton)
fbLoginButton.readPermissions = ["public_profile", "user_friends", "email", "user_birthday"]
fbLoginButton.delegate = fbLoginBtnDelegate
Run Code Online (Sandbox Code Playgroud)
Dav*_*Liu 64
如果您将Facebook iOS SDK升级到版本4.39.0,则会出现导致此错误的错误.降级到4.38.1将帮助您解决此问题.一定要降级FBSDKCoreKit和FBSDKLoginKit.
pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'
Run Code Online (Sandbox Code Playgroud)
请务必清理构建文件夹并重新构建SDK.
更新:此错误已在4.39.1 SDK版本中修复.https://developers.facebook.com/docs/ios/change-log-4x/
这是版本4.39.0中的Facebook SDK错误,导致此错误.为了解决这个问题,只需将CoreKit和LoginKit降级到4.38.0,清除派生数据以及清理构建文件夹(CMD + OPTION + SHIFT + K).而4.38.1也可以正常工作.
pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'
Run Code Online (Sandbox Code Playgroud)
如果您使用的是FacebookCore和FacebookLogin,请执行以下操作.
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FBSDKCoreKit', '~> 4.38.0'
pod 'FBSDKLoginKit', '~> 4.38.0'
Run Code Online (Sandbox Code Playgroud)
对我来说,问题在于CFBundleURLTypes>
CFBundleURLSchemes中指示的 Facebook App IDInfo.plist拼写错误。
我从文件导入应用程序 ID .xcconfig,以便其基础值根据我是否运行Debug或Release方案而变化。但是,当我打印 plist 文件时,从文件读取时,应用程序 ID 周围有不必要的引号xcconfig。例如,URL 方案应为 的地方fb012345678,却是fb"012345678"。
我尝试将应用程序 ID 正确硬编码到Info.plistFacebook 指南中所述的内容中,结果FBSDKLoginButton成功了。Safari 出现并显示 Facebook 登录屏幕。不过,您不必对 ID 进行硬编码 - 只需确保它们在Info.plist.
| 归档时间: |
|
| 查看次数: |
6955 次 |
| 最近记录: |