を受け取ったときにiOSアプリがクラッシュするのはなぜですか、iOS 8.xを使用しているお客様からのクラッシュログがたくさんあります。ここではログ、最近UIApplicationDidReceiveMemoryWarningNotification
Application received signal SIGSEGV
current state:Foreground,total time:0H0M34S,active time:0H0M29S
iOS Version:8.1.1 (12B435)
(null)
((
0 CoreFoundation 0x219b060f exceptionPreprocess (in CoreFoundation) + 151
1 libobjc.A.dylib 0x35b53c77 objc_exception_throw + 38
2 CoreFoundation 0x219b053d -[NSException initWithCoder:] (in CoreFoundation) + 1
3 my app 0x47f61b UmengSignalHandler (in my app) + 137
4 libsystem_platform.dylib 0x3622f09b _sigtramp + 34
5 CoreFoundation 0x21968f15 CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ (in CoreFoundation) + 13
6 CoreFoundation 0x281f4e4d _CFXNotificationPost + 1800
7 Foundation 0x225f8ec1 -[NSNotificationCenter postNotificationName:object:userInfo:] (in Foundation) + 77
8 Foundation 0x225fda3f -[NSNotificationCenter postNotificationName:object:] (in Foundation) + 31
9 UIKit 0x250bf913 -[UIApplication _performMemoryWarning] (in UIKit) + 139
10 libdispatch.dylib 0x2f78340f _dispatch_client_callout (in libdispatch.dylib) + 23
11 libdispatch.dylib 0x2f798709 _dispatch_source_latch_and_call (in libdispatch.dylib) + 621
12 libdispatch.dylib 0x2f791f3d _dispatch_source_invoke$VARIANT$mp (in libdispatch.dylib) + 213
13 libdispatch.dylib 0x2f78e035 _dispatch_main_queue_callback_4CF$VARIANT$mp (in libdispatch.dylib) + 329
14 CoreFoundation 0x21976631 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE (in CoreFoundation) + 9
15 CoreFoundation 0x21974d51 __CFRunLoopRun (in CoreFoundation) + 1513
16 CoreFoundation 0x281f2b31 CFRunLoopRunSpecific + 476
17 CoreFoundation 0x281f2943 CFRunLoopRunInMode + 106
18 GraphicsServices 0x2f5d2051 GSEventRunModal + 136
19 UIKit 0x2b7e86f1 UIApplicationMain + 1440
20 my app 0x28b8cd main (in eif-ios-app) (main.m:27)
21 libdyld.dylib 0x2f7beaaf start (in libdyld.dylib) + 3
)
ログから、低メモリ警告を受け取ったときにアプリがクラッシュすることがあります。私のプロジェクトコードは決して動かないので、ゾンビオブジェクトが起こったと思います。 ゾンビはUIApplicationDidReceiveMemoryWarningNotificationに関連付けられているため、通知を監視しているすべての場所を検索しました。 その結果、すべてのオブザーバがdeallocで削除されましたが、シングルトンに属するオブザーバは例外です。 今このクラッシュを修正する方法がわかりません。助けてくれてありがとう。
再びクラッシュログを受けたが、私はアプリケーションがクラスUINibStorageにセレクタsetArchiveDataで実行を停止することを見つける、この時間。 UINibStorage、それはプライベートクラスであり、UINibStorageオブジェクトはUINibによって作成され、保持されます。 私はUINibがUIApplicationDidReceiveMemoryWarningNotificationで署名されていることを知り、通知を受けている間[self.nibStorage setArchiveData]を実行してクラッシュします。 クラッシュする場所を見つけましたが、修正する方法はありますか?助けてくれてありがとう。 –