作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我的应用程序中,我将照片发送到我的后端代码。我还想将这张照片发布到用户的 facebook 墙上。用户已经使用 FB 帐户登录到我的应用程序,但我尚未请求他的 publish_actions
权限。
在我的应用程序中,用户有一个 UISwitch
,当它打开时,应该检查用户是否授予了 publish_actions
权限,如果还没有,则从用户。
到目前为止,这是我的代码:
if !(FBSDKAccessToken.current().hasGranted("publish_actions")) {
print("Request publish_actions permissions")
let login: FBSDKLoginManager = FBSDKLoginManager()
login.logIn(withPublishPermissions: ["publish_actions"], from: self) { (result, error) in
if (error != nil) {
print(error!)
} else if (result?.isCancelled)! {
print("Canceled")
} else if (result?.grantedPermissions.contains("publish_actions"))! {
print("permissions granted")
}
}
}else {
}
问题是当用户点击 UISwitch 时,它会立即打开 Safari 询问他是否登录 Facebook。当他再次登录时,会出现一条消息“您已经授权<>”。当用户单击 OK
时,他返回到应用程序,我在控制台中看到 Canceled
。
这对我来说似乎不对,所以我的问题是 - 要求用户允许此权限的最佳方式是什么?
最佳答案
某些 Facebook 功能需要您将您的应用程序发送给 Facebook 审核,然后才能使用。在将您的 Facebook 应用程序发送给审核之前,您正在尝试使用您自己的 Facebook 帐户获得“publish_actions”权限。在开发模式下,从 developers.facebook.com 创建一个测试帐户来测试这些功能。
关于ios - 如何从我的 Swift 应用程序请求 Facebook publish_actions 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167275/
我是一名优秀的程序员,十分优秀!