2014-10-07 94 views
0

我正在使用社会认证的分析框架。我的应用程序有一个非常简单的方法来请求Facebook上的发布权限。解析:[PFFVideosUtils reauthorizeUser:]回调永远不会被调用

我的问题:我传入reauthorizeUser的块:永远不会被调用!

+(void)acquirePublishPermissionsForUser:(DHUser *)user WithCompletion:(void (^) (BOOL succeeded, NSError *error))completion 
{ 
    [PFFacebookUtils reauthorizeUser:user 
       withPublishPermissions:@[@"publish_actions"] 
          audience:FBSessionDefaultAudienceFriends 
           block:^(BOOL succeeded, NSError *error) { 
            completion(succeeded, error); 
           }]; 
} 

此方法正常工作。在这种情况下,Facebook应用程序打开并提示权限。点击确定后,您将返回到我的应用程序。这两个openURL & applicationDidBecomeActive被调用。

这是在我的应用程序委托:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
    // Handle Facebook authentication 
    return [FBAppCall handleOpenURL:url 
        sourceApplication:sourceApplication 
         withSession:[PFFacebookUtils session]]; 
} 


- (void)applicationDidBecomeActive:(UIApplication *)application { 
    // Handle Facebook Authentication 
    [FBAppCall handleDidBecomeActiveWithSession:[PFFacebookUtils session]]; 
} 

我设置一个断点来验证:我从未块被执行。这非常重要,因为我想在获得许可后发布到Facebook。否则,它有点没用。

任何想法?

回答

0

我结束了使用直接的FB-API调用([[FBSession activeSession] requestNewPublishPermissions])。

它与我的会话和身份验证令牌数据确实很奇怪,但至少回调得到执行。绝对不是一个真正的解决方案,但它会做。

相关问题