我正在使用 iOS SDK 3.1.1 并尝试同时获得读取和发布权限。正如教程所说,我正在调用 FBSession openActiveSessionWithReadPermissions 并在其处理程序 - 处理程序 A - 调用 [[FBSession activeSession] reauthorizeWithPublishPermissions 只有当处理程序 A 以 FBSessionStateOpen 的会话状态调用时。
当我在 iOS 6 的设置中设置了 facebook 帐户时,reauthorizeWithPublishPermissions 的处理程序 - 处理程序 B - 被正常调用,错误参数为 nil。
但是,如果我没有在 iOS 6 的设置中设置 facebook 帐户,则当应用程序切换到 Safari 以获得发布权限时,将调用处理程序 B 并出现名为“ErrorReauthorizeFailedReasonUserCancelled”的 reauth 错误。
更奇怪的是这个。在调用处理程序 B 之前的这两种情况下,调用处理程序 A 时会话状态为 FBSessionStateOpenTokenExtended。
这些是新 SDK 的正常行为还是预期行为?如果是这样,我是否应该检查处理程序 B 中的错误是否为零?