我的应用在点击facebook登录按钮时崩溃,显示FBSDKInternalUtility.m:484错误
import UIKit
class ViewController: UIViewController ,FBSDKLoginButtonDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if (FBSDKAccessToken.currentAccessToken() != nil)
{
// User is already logged in, do work such as go to next view controller.
}
else
{
let loginView : FBSDKLoginButton = FBSDKLoginButton()
self.view.addSubview(loginView)
loginView.center = self.view.center
loginView.readPermissions = ["public_profile", "email", "user_friends"]
loginView.delegate = self
}
}
// Facebook Delegate Methods
func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
print("User Logged In")
if ((error) != nil)
{
// Process error
}
else if result.isCancelled {
// Handle cancellations
}
else {
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if result.grantedPermissions.contains("email")
{
// Do work
}
}
}
func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
print("User Logged Out")
}
func returnUserData()
{
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
print("Error: \(error)")
}
else
{
print("fetched user: \(result)")
let userName : NSString = result.valueForKey("name") as! NSString
print("User Name is: \(userName)")
let userEmail : NSString = result.valueForKey("email") as! NSString
print("User Email is: \(userEmail)")
}
})
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
我有一个桥接标题并将其添加到Xcode的项目构建设置中,但它仍显示错误
感谢
答案 0 :(得分:6)
我认为您可能遇到了iOS9兼容性问题:
有类似的问题,我通过使用以下内容更新info.plist来修复它:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
&#13;
这是描述更改的Facebook页面:
答案 1 :(得分:0)
在我看来,你的loginButton函数在开始时缺少'{'。
另外我相信你的if语句'如果result.grantedPermissions.contains(“email”)'需要有其他条件。
您在loginButton函数中描述的状态可能也需要一些正文。目前描述了状态,但是当达到任何描述的状态时,没有代码可以执行。
答案 2 :(得分:0)
我遇到了同样的问题,我删除了这些库,并将它们从“链接的框架和库”项目中添加并重新链接,并且工作正常。
希望它有所帮助, 安多尼。