gpt4 book ai didi

ios - 未调用 logInWithReadPermissions(fromViewController) 处理程序

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:21 24 4
gpt4 key购买 nike

我正在尝试实现它,但它没有打印任何内容。

loginManager.logInWithReadPermissions(["email"], fromViewController: self.parentViewController) { (result, error) -> Void in
print("hi")
}

我可以在此方法调用之前和之后打印,但不能在处理程序中打印。控制台中唯一的错误是:

-canOpenURL: failed for URL: "fbauth2:/"

根据 FB,可以忽略 ( https://developers.facebook.com/docs/ios/ios9 )

这是整个 ViewController:

import UIKit
import FBSDKCoreKit
import FBSDKLoginKit

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 already has access token
logUserData()
} else {
let loginButton = FBSDKLoginButton()
loginButton.center = view.center
loginButton.readPermissions = ["email", "posts"]
view.addSubview(loginButton)
loginButton.delegate = self
}
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}


// MARK: - FBSDKLoginButtonDelegate methods

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
print("logged in")
}

func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {
print("logged out")
}

private func logUserData() {
let loginManager = FBSDKLoginManager()

loginManager.logInWithReadPermissions(["email"], fromViewController: self.parentViewController) { (result, error) -> Void in
print("hi")
}
}
}

编辑这是我添加到我的 .plist 中的内容:

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb983308525071081</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>983308525071081</string>
<key>FacebookDisplayName</key>
<string>Demo</string>

<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>facebook.com</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
</dict>
<key>fbcdn.net</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
</dict>
<key>akamaihd.net</key>
<dict>
<key>NSIncludesSubdomains</key> <true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>
</dict>
</dict>
</dict>

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

最佳答案

好的,所以我最终只是在创建按钮时在登录时请求权限:

loginButton.readPermissions = ["email", "user_posts"]

这是 viewDidLoad() 方法:

override func viewDidLoad() {
super.viewDidLoad()

if FBSDKAccessToken.currentAccessToken() != nil {
let parameters = ["fields": "id, name, email, posts{story,created_time,id,message,picture,likes}"]
let request = FBSDKGraphRequest(graphPath: "me", parameters: parameters)
request.startWithCompletionHandler({ (connection, result, error) -> Void in
print("request.startWithCompletionHandler")
if error != nil {
print(error)
} else {
print(result)
}
})
} else {
let loginButton = FBSDKLoginButton()
loginButton.center = view.center
loginButton.readPermissions = ["email", "user_posts"]
view.addSubview(loginButton)
loginButton.delegate = self
}
}

关于ios - 未调用 logInWithReadPermissions(fromViewController) 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35880802/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com