2017-03-24 8 views
0

2つ以上の新しい写真が電話機/シミュレータのカメラロールに保存された後にのみ、メインのアプリ画面から新しいストーリーボードをプログラムで開始するときに次の例外が発生しました。 (アプリの外側 - カメラ/画像をカメラロールに保存する)。UIImageViewの不安定なクラッシュがインスタンスに送信されました '

カメラロールに実際にアクセスするコードは、そのストーリーボードの将来のビュー(問題がない場所にある)まで実行されません。

以前にメイン画面にロードされていたUIImageViewから来るように絞り込んだのですが、カメラロールが新しい写真を取得したときにのみこれが起こるのは困惑しています。

-[__NSCFType animationForKey:]: unrecognized selector sent to instance 0x600000827a00 

>  0 CoreFoundation      0x000000010ad9dd4b __exceptionPreprocess + 171 
>  1 libobjc.A.dylib      0x000000010a80621e objc_exception_throw + 48 
>  2 CoreFoundation      0x000000010ae0df04 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132 
>  3 CoreFoundation      0x000000010ad23005 ___forwarding___ + 1013 
>  4 CoreFoundation      0x000000010ad22b88 _CF_forwarding_prep_0 + 120 
>  5 UIKit        0x0000000108a9dc11 -[UIImageView isAnimating] + 156 
>  6 UIKit        0x0000000108a9db25 -[UIImageView stopAnimating] + 116 
>  7 UIKit        0x0000000108a9b46b -[UIImageView dealloc] + 51 
>  8 CoreFoundation      0x000000010adf525e common_removeAllObjects + 254 
>  9 CoreFoundation      0x000000010acd1c93 -[__NSArrayM dealloc] + 19 
>  10 libobjc.A.dylib      0x000000010a81ab12 _ZN11objc_object17sidetable_releaseEb + 212 
>  11 libobjc.A.dylib      0x000000010a81b1d1 _ZN12_GLOBAL__N_119AutoreleasePoolPage3popEPv + 715 
>  12 QuartzCore       0x00000001083b7371 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 369 
>  13 QuartzCore       0x00000001083e43ff _ZN2CA11Transaction6commitEv + 475 
>  14 UIKit        0x0000000108883d9b _UIApplicationFlushRunLoopCATransactionIfTooLate + 206 
>  15 UIKit        0x000000010908e77c __handleEventQueue + 5672 
>  16 CoreFoundation      0x000000010ad42761 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 
>  17 CoreFoundation      0x000000010ad2798c __CFRunLoopDoSources0 + 556 
>  18 CoreFoundation      0x000000010ad26e76 __CFRunLoopRun + 918 
>  19 CoreFoundation      0x000000010ad26884 CFRunLoopRunSpecific + 420 
>  20 GraphicsServices     0x000000010d07ea6f GSEventRunModal + 161 
>  21 UIKit        0x000000010888ac68 UIApplicationMain + 159 
>  22 MyApp        0x0000000104f652b2 main + 114 
>  23 libdyld.dylib      0x000000010bbd568d start + 1 
>  24 ???         0x0000000000000001 0x0 + 1 
+2

あなたのコードをあなたの質問に追加すると、人々は読んで問題が何であるか、それを推測する代わりにどこにあるのか理解するのに役立ちます。 –

+0

残念ながら、ここの仕事では2つのストーリーボードのコードベースも大きすぎます+デザイナーのレイアウトそのものがあるので、どこにでもアップロードしなければなりません。私は私の答えでいくつかのコードを追加し、誰かが正確な例外や同様のスタックトレースを検出した場合に主に投稿しました。 – d3vtoolsmith

答えて

0

徐々に潜在的にこのクラッシュを引き起こしている可能性があり、コードをコメントアウトした後、私はインスタンス化されたストーリーボードの中にステータスバーを非表示にし、次のコードにそれを絞り込むまし

override func prefersStatusBarHidden() -> Bool { 
    return true 
} 

私の推測ではありますステータスバーを非表示にするとメイン画面の表示が強制的に再レイアウトされ、その例外はUIImageViewのいずれかになります。だから、私はアプリケーションのために不可欠ではないので、今はステータスバーを隠すことをやめることに決めました。うまくいけば、これは誰かが同じ例外を見るのに役立ちます。

+0

興味深い。私は日常的にカメラアプリのステータスバーを隠しています。起動画面以外のすべて。私はUIImagePickerControllerを使用し、ステータスバーを非表示にしてVCを選択して編集し、両方ともUINavigationControllerに埋め込みました。ユニバーサル、自動レイアウト、すべての方向を使用します。問題ありません。 – dfd

+0

これまでのところ、この問題はありませんでした。これはiOS9 +の何かか、レイアウトの制約の可能性があります。メインのアプリ画面はステータスバーを隠すわけではありませんが、子ストーリーボード(「新しい投稿」ストーリーボード)はそれを隠しています(アプリとの違いかもしれません)。 – d3vtoolsmith

関連する問題