SLComposeViewController不会关闭其父VC

时间:2013-10-11 22:13:46

标签: ios objective-c objective-c-blocks

我正在呈现一个用于发送Facebook消息的SLComposeViewController。呈现和发布工作正常,完成块被调用(所有日志都在那里)。

问题是,当发布完成时,我还想关闭当前的视图控制器(通过故事板中的模态segue呈现)。

我无法通过块内的[self dismissViewControllerAnimated:YES completion:nil];来解除此VC。

- (void)postToFacebook
{
    NSLog(@"Posting to Facebook ...");
    if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) {
        NSLog(@"Facebook is available ...");
        SLComposeViewController *fbSheet = [SLComposeViewController
                                               composeViewControllerForServiceType:SLServiceTypeFacebook];
        [fbSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
            // [self endQuiz];
            [self dismissViewControllerAnimated:YES completion:nil];
            NSLog(@"FB post complete");
        }];
        [fbSheet setInitialText:[NSString stringWithFormat:@"I just scored a %i on this game", self.totalPoints]];
        [self presentViewController:fbSheet animated:YES completion:^{
            NSLog(@"Completed showing FB sheet");
        }];
    } else {
        NSLog(@"Facebook not available");
        [self endQuiz];
    }
}

我尝试了一些块安全的自我,认为自己可能引用了块中的错误控制器。也没有运气。

0 个答案:

没有答案