【发布时间】:2014-02-11 07:47:06
【问题描述】:
我有一个带有按钮的 VC,用于在 Facebook 上分享一些文本和图像 url。
我使用 FB api 打开 FB webview - 供用户登录。然后它会显示带有“跳过”或“共享”按钮的共享窗口,如图所示...
我的应用程序中有以下代码来处理登录和按钮操作.... 出于某种原因,“跳过”也会发布,就好像“确定”被击中一样。我尝试检查使用错误实用程序返回的错误代码,但这不起作用(应用程序永远不会进入该代码部分,并且即使我点击跳过按钮,NSLog 也永远不会登录“取消”)
对此的任何帮助将不胜感激。或许可以通过某种方式重新检查权限?
(void)postStatusUpdate:(id)status
{
if (FBSession.activeSession.state != FBSessionStateCreatedTokenLoaded || [FBSession.activeSession.permissions
indexOfObject:@"publish_actions"] == NSNotFound) {
// Permission hasn't been granted, so ask for publish_actions
[FBSessionopenActiveSessionWithPublishPermissions:@[@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state,
NSError *error) {
[selfsessionStateChanged:session state:state error:error];
if([FBErrorUtilityerrorCategoryForError:error] ==
FBErrorCategoryUserCancelled)
{
NSLog(@"SNFacebookClient: CANCELLED OUT!!");
}
if (FBSession.activeSession.isOpen && !error) {
// Publish the story if permission was granted
[selfpublishStory:status];
}
}];
} else {
// If permissions present, publish the story
[selfpublishStory:status];
}
}
代码在这里
我什至尝试在 lldb 中检查按下“跳过”后的权限数组...
po [FBSession activeSession].permissions
发现即使按下跳过,数组也包含条目“publish_actions”
【问题讨论】:
标签: ios objective-c facebook error-handling