2

私はこれを検索しようとしましたが、運がないので、回答を知る人がいることを願っています。runTransitionForCurrentStateでアプリケーションがクラッシュするが、理由について手がかりがない

iTunes Connectで特定のスタックトレースでクラッシュする報告がありますが、スタックトレースでは何も役立ちません。

#0. Crashed: main 
0 UIKit       0x1871100c0 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 324 
1 UIKit       0x1871100bc __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 320 
2 UIKit       0x1870630c8 _runAfterCACommitDeferredBlocks + 292 
3 UIKit       0x187070a80 _cleanUpAfterCAFlushAndRunDeferredBlocks + 92 
4 UIKit       0x186da25a4 _afterCACommitHandler + 96 
5 CoreFoundation     0x181c0c728 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 
6 CoreFoundation     0x181c0a4cc __CFRunLoopDoObservers + 372 
7 CoreFoundation     0x181c0a8fc __CFRunLoopRun + 928 
8 CoreFoundation     0x181b34c50 CFRunLoopRunSpecific + 384 
9 GraphicsServices    0x18341c088 GSEventRunModal + 180 
10 UIKit       0x186e1a088 UIApplicationMain + 204 
11 MyApp       0x100082e6c main (main.m:19) 
12 libdyld.dylib     0x1816d28b8 start + 4 

レポートにないパターンは、それを再現支援するためのiOS 9.1、9.2、9.3から10、様々なiPhoneやiPadと無手がかりに起こります。

誰もこれまでにこのようなことを経験したことがありますか、それを引き起こす可能性についていくつかの洞察力/疑念を持っていますか?

+0

いくつかのviewcontrollerをどのように表示するか関連するコードを表示してください。 – Lion

+0

Lionに感謝します。しかし、私は少なくとも約50か所のVCからプレゼンテーションをしていますが、いずれかから問題を再現することはできません。 –

+0

私はこの全く同じクラッシュが起こっているし、何が起こっているのか分からない。私が持っている唯一の手がかりはほとんどです。私のView Controllerの1人は 'viewWillDisappear' /' viewDidDisappear'のペアを2度続けて(数秒の遅れで)報告します。 –

答えて

6

私はまったく同じクラッシュをしており、原因を突き止めました。私のコードの高度に減少したバージョンは、上記のスニペットで

[self dismissViewControllerAnimated:YES completion:nil]; 
// call a method that ends up doing 
[appRootViewController dismissViewControllerAnimated:NO completion:nil]; 

selfようになり、ルート上のモーダルモードで表示されていますビューコントローラです。ビューコントローラ自体は、他のコントローラとは現在のコンテキスト上でモーダルに提示されています。だから私がやっているのは、アニメーションを使ってその過電流コンテキストコントローラを却下しようとしていて、アニメーションなしでルートから提示されたビューコントローラを究極的に却下する他のコードを呼び出すことです。

別の言い方をすれば、私が始めたアニメーション解消の現在のコンテキストを提供するビューコントローラは、以前のアニメーション解雇中にビュー階層から削除されます。

Xcodeでこれを再現する、それはまた、コンソールに次のログを記録する場合:

transitionViewForCurrentTransitionが設定されていない、プレゼンテーションコントローラは、プレゼンテーション中に解雇されたのですか? (< _UIOverCurrentContextPresentationController:0x7faf277d9c30>)

+0

非常に似たようなクラッシュを起こし、その理由を疑うことも同じです – lal

+0

@ケビン・バラード私は同様の問題があり、根本原因を突き止めようとしています。私は2つの解雇を処理する関数を追加しました。これが安全かどうか疑問に思っています:https://stackoverflow.com/questions/48764872/uipresentationcontroller-crash-just-points-to-appdelegate – user2363025

関連する問題