在使用 FBLoginView 时调用 initWithReadPermission 后,我遇到了重新授权发布流的问题。我尝试在委托函数内部调用,我可以在其中获取用户信息。在下一个要求发布流权限的对话框之后,应用程序向我抛出了一个异常说
“'com.facebook.sdk:InvalidOperationException',原因:'FBSession:重新授权无效,而先前的重新授权调用尚未完成。' "
我需要在读取权限后调用,但如何防止此问题?
在使用 FBLoginView 时调用 initWithReadPermission 后,我遇到了重新授权发布流的问题。我尝试在委托函数内部调用,我可以在其中获取用户信息。在下一个要求发布流权限的对话框之后,应用程序向我抛出了一个异常说
“'com.facebook.sdk:InvalidOperationException',原因:'FBSession:重新授权无效,而先前的重新授权调用尚未完成。' "
我需要在读取权限后调用,但如何防止此问题?
根据您的错误,未打开 FBSession。所以你应该检查会话是否
在尝试重新授权之前打开。
在某处的 facebook sdk doc 中,他们声明您不应同时获得读写权限。
最好的方法是使用读取权限初始化,然后一旦用户执行需要写入权限的操作,第二次请求它(这实际上是他们希望您执行的操作,也是因为如果您使用 iOS6 SSO ,对于读取和写入权限,我认为您需要单击 2 个不同的警报视图,不能在 1 个单一授权单击中完成)
如果您确实需要按顺序读取和写入,请在成功获得读取授权时尝试使用 NSNotification,然后在获得该通知时尝试获得写入权限。