Facebook iOS SDK:如何在请求publish_actions时处理SKIP按钮?

Gon*_*oni 7 sdk xcode facebook ios

我有一个代码,使用'publish_actions'权限登录Facebook.这是片段:

NSArray *facebookPermissions = [NSArray arrayWithObjects:@"publish_actions", nil];

[FBSession openActiveSessionWithPublishPermissions:[self facebookPermissions]
                                   defaultAudience:FBSessionDefaultAudienceFriends
                                      allowLoginUI:YES
                                 completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
    NSLog(@">>> Permissions available: %@", FBSession.activeSession.permissions);
}];
Run Code Online (Sandbox Code Playgroud)

执行该方法后,用户将被重定向到Mobile Safari Facebook页面,并询问是否允许Facebook访问他/她的帐户.

屏蔽1:

APPNAME would like to access your public profile and friend list.
[CANCEL] [OK]
Run Code Online (Sandbox Code Playgroud)

按OK后,由于我们使用openActiveSessionWithPublishPermissions方法,将出现第二页,询问是否允许facebook代表您发布内容.

屏幕2:

APPNAME would like to post to your friends on your behalf.
[AUDIENCE] [SKIP] [OK]
Run Code Online (Sandbox Code Playgroud)

棘手的部分是,当用户单击SKIP按钮时,回调中的日志仍然'publish_actions'列为可用权限之一.这是不正确的.这error也是零.我该如何正确检测到这个?

这是日志:

2013-07-06 16:35:59.037 FbSandbox[56213:c07] >>> Permissions available: ("publish_actions")
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Nir*_*hah 3

您可以通过调用 来验证接受的权限me/permissions。这将列出用户已允许的权限。将此列表与您请求的权限交叉引用,您将能够找出哪些被接受,哪些被跳过。