48

当我将Instagram整合到我的项目中时。我收到了一个image来自UIImagePickerController它之后的消息,我想将它发送到Instagram但是当我通过 这样的委托方法发送imageInstagram时UIDocumentInteractionControllerpresentOptionsMenuFromRect:inView: animated:

[documentInteractionController presentOptionsMenuFromRect:CGRectZero inView:self.view animated:YES];

警告来了 警告:尝试在演示过程中演示 <_UIDocumentActivityViewController: 0x7584780>!
应用程序没有崩溃。但我没有得到问题。为什么会出现这个警告以及它的含义。我在互联网上搜索并阅读了有关此的问题,但没有得到任何答案。帮我 !!

4

8 回答 8

146
// Breaks
[viewController1 dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:viewController2 animated:YES completion:NULL];

// Does not break
[viewController1 dismissViewControllerAnimated:YES completion:^{
    [self presentViewController:viewController2 animated:YES completion:NULL];
}];

The Swift 3 version of the above code would look like this:

// Breaks
viewController1.dismiss(animated: true)
present(viewController2, animated: true)

// Does not break
viewController1.dismiss(animated: true) {
    present(viewController2, animated: true)
}

Note the use of the completion handler in the second example above.
It only presents viewController2 after viewController1 has been fully dismissed.

于 2013-06-15T04:03:21.537 回答
7

对于那些需要/想要 swift 3 版本的人,这里是

viewController1.dismiss(animated: true, completion: {
    self.present(self.viewController1, animated: true)
})

viewController1 是您要呈现的视图控制器。

于 2016-12-09T01:33:05.820 回答
3

这意味着您正在演示或解雇UIImagePickerController并尝试UIDocumentInteractionController演示,而第一次演示或解雇尚未完成。

于 2013-01-22T07:04:29.557 回答
2

这意味着您同时呈现 2 个 ViewController。在第一次演示完成后致电您的代表。

于 2013-12-10T16:28:12.500 回答
2

如果您有(例如)一个连接到 IBAction 以呈现 ViewController 的 UIButton,并且还在 Storyboard 中创建从按钮到目标 ViewController 的 segue,也会发生这种情况。

当我在移动一些交互时忘记从 UIButton 中删除 IBAction 连接时,是否会发生这种情况。

删除 IBAction 连接或 segue 将解决它。

于 2014-08-12T04:25:57.513 回答
2

我收到此消息是因为我复制粘贴了一个已发送附加事件的按钮,并且我继续创建另一个连接,因为新按钮应该打开新视图。

所以从技术上讲,我试图同时打开 2 个视图。

于 2016-01-12T10:10:14.870 回答
2

尝试..

    double delayInSeconds = 1.0;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

        [self performSegueWithIdentifier:@"Identifier" sender:self];

    });
于 2016-06-11T14:33:56.103 回答
1

正如之前所说,这意味着您正在尝试同时呈现 2 个模态窗口或弹出框。但就我而言,当我收到此消息时,我没有看到任何模态窗口或弹出窗口。

在我的案例中出现错误的原因如下。当我第一次调用弹出框出现时,这是另一个阻止弹出框显示的错误,但它以某种方式继续处于“呈现”状态。以下所有显示弹出框的尝试都失败了,并出现运行时错误“在演示过程中!”。

因此,如果您遇到相同的情况,请查看日志并尝试查找以 . 开头的第一个错误*** WebKit discarded an uncaught exception in the...

希望它能节省一些人的时间。

于 2015-07-30T16:22:55.453 回答