gpt4 book ai didi

ios - 返回 nil 的 Facebook iOS SDK 权限列表

转载 作者:行者123 更新时间:2023-11-28 07:08:57 25 4
gpt4 key购买 nike

我的登录 Controller 中有代码检查用户是否已授予某些权限。该代码在数周内运行良好,但直到最近它才停止工作,因为 FBSession.activeSession().permissions 返回 nil 而不是权限列表

有没有人遇到过类似的问题,或者知道是什么原因造成的?我正在使用 Parse + Facebook这是我的代码(在 Swift 中)

if FBSession.activeSession().state != FBSessionState.Open {

PFFacebookUtils.logInWithPermissions(permissions, block: { (user: PFUser?, error: NSError?) -> Void in
if user == nil {
if error != nil {
println("User cancelled fb login")
} else {
println("Error with login: \(error)")
}
} else {
if user!.isNew {
println("Brand new user signed up!")
} else {
println("Returning user logged in!")
}
self.voiceMeAPI.requestDataForUserMe { (finished) -> () in

//This is printing nil
println(FBSession.activeSession().permissions)

if contains(FBSession.activeSession().permissions as [String], "user_friends") {
self.updateFriendsThenPushToHomeViewController(isNewUser: user!.isNew)
} else {
dispatchOnMainQueueAfterDelay(0, { () -> () in
self.presentViewController(self.noFriendsListAlertController, animated: true, completion: nil)
})
}
}

}
})

最佳答案

一些 docs从 Facebook SDK 页面可能有你想要的。特别是标题为“使用自定义登录用户界面”的部分。

这是来自 Facebook SDK 文档的 Obj-C:

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
// 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 containsObject:@"email"]) {
// Do work
}
}
}];

这是(未经测试!)在 Swift 中:

var login: FBSDKLoginManager = FBSDKLoginManager()
login.logInWithReadPermissions(["email"], handler: { (result:FBSDKLoginManagerLoginResult!, error:NSError!) -> Void 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
}
}
})

关于ios - 返回 nil 的 Facebook iOS SDK 权限列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29248131/

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