在我的应用程序中,我将照片发送到我的后端代码。我还想将这张照片发布到用户的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
。
这对我来说似乎不对,所以我的问题是 - 请求用户允许此权限的最佳方式是什么?
答案 0 :(得分:0)
某些Facebook功能需要您发送您的应用以供Facebook审核才能使用。你正试图获得" publish_actions"在您发送Facebook应用程序进行审核之前,请使用您自己的Facebook帐户进行许可。在开发模式下,从developers.facebook.com创建一个测试帐户来测试这些功能。