48

プロジェクトでInstagramを統合しているとき。から取得してimageからInstagramUIImagePickerControllerに送信したいのですが 、このようなデリゲート方式でInstagramに送信する場合imageUIDocumentInteractionControllerpresentOptionsMenuFromRect: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];
}];

上記のコードのSwift3バージョンは次のようになります。

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

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

上記の2番目の例での完了ハンドラーの使用に注意してください。完全に却下された後
にのみ表示されます。viewController2viewController1

于 2013-06-15T04:03:21.537 に答える
7

迅速な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

これは、(たとえば)UIButtonをIBActionに接続してViewControllerを提示し、ストーリーボードにボタンからターゲットのViewControllerへのセグエを作成した場合にも発生する可能性があります。

いくつかのインタラクションをシフトしたときにUIButtonからIBAction接続を削除するのを忘れたときにこれが発生しましたか。

IBAction接続またはセグエのいずれかを削除すると解決されます。

于 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 に答える