Facebook iOS SDK 3.x-发布许可

Facebook iOS SDK 3.x-发布许可,ios,facebook-ios-sdk,Ios,Facebook Ios Sdk,Facebook在我的应用程序中的集成效果很好。我在登录时请求*read_stream*权限,然后在第一次发布任何内容时请求*publish_actions*(根据建议) 问题是,当我请求*发布行动*权限时,应用程序会切换到Facebook应用程序并返回。我不希望用户看到Facebook的应用程序,我知道很多应用程序都会静静地贴到墙上 我如何才能做到这一点?您应该在登录时请求发布权限,而不是在首次发布内容时。 一旦用户以所需的所有权限登录,他将不会再次看到fb应用程序屏幕(除非会话已过期或已关闭

Facebook在我的应用程序中的集成效果很好。我在登录时请求*read_stream*权限,然后在第一次发布任何内容时请求*publish_actions*(根据建议)

问题是,当我请求*发布行动*权限时,应用程序会切换到Facebook应用程序并返回。我不希望用户看到Facebook的应用程序,我知道很多应用程序都会静静地贴到墙上


我如何才能做到这一点?

您应该在登录时请求发布权限,而不是在首次发布内容时。 一旦用户以所需的所有权限登录,他将不会再次看到fb应用程序屏幕(除非会话已过期或已关闭)


如果您在第一次用户登录时询问了public_操作,则不再需要它。你需要检查活动权限。如果公共行动发现你不需要打电话来获得收益

// Ask for publish_actions permissions in context
if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) {
    // Permission hasn't been granted, so ask for publish_actions
    [FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"]
                                       defaultAudience:FBSessionDefaultAudienceFriends
                                          allowLoginUI:YES
                                     completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                         if (FBSession.activeSession.isOpen && !error) {
                                             // Publish the story if permission was granted
                                              // write your code public here
                                         }
                                     }];
}
else {
    // If permissions present, publish the story
     // write your code public here
}
// Ask for publish_actions permissions in context
if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) {
    // Permission hasn't been granted, so ask for publish_actions
    [FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"]
                                       defaultAudience:FBSessionDefaultAudienceFriends
                                          allowLoginUI:YES
                                     completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
                                         if (FBSession.activeSession.isOpen && !error) {
                                             // Publish the story if permission was granted
                                              // write your code public here
                                         }
                                     }];
}
else {
    // If permissions present, publish the story
     // write your code public here
}