2016-11-21 9 views
0

私はNSLoggerを自分のiOSアプリケーションに統合しています。私はNSLoggerを統合した後、特にインターネットが存在しないときに私のアプリケーションがフリーズしやすくなっています。 main.mに以下のコードを追加しました。iOSのNSLoggerが私のアプリをフリーズ

Logger *logger = LoggerGetDefaultLogger(); 
LoggerSetOptions(logger, 
        kLoggerOption_BufferLogsUntilConnection | 
        kLoggerOption_CaptureSystemConsole | 
        kLoggerOption_BrowseBonjour | 
        kLoggerOption_BrowseOnlyLocalDomain); 
LoggerSetupBonjour(logger, NULL, NULL)); 

これはクラッシュログです:

Incident Identifier: 5278EF6A-1128-49D6-B31A-B6AA03AC856C 
CrashReporter Key: 848d8e4999dd36db808023480dc660a86c173fee 
Hardware Model:  iPad6,7 
Process:    My App [386] 
Path:    /private/var/containers/Bundle/Application/579502B0-20F3-4C83-82F0-ED50BC79C831/My App.app/My App 
Identifier:   com.xiang.My App 
Version:    1140 (1.0) 
Code Type:   ARM-64 (Native) 
Role:    Foreground 
Parent Process:  launchd [1] 
Coalition:   com.xiang.My App [490] 


Date/Time:   2016-11-18 13:41:18.1326 +0900 
Launch Time:   2016-11-18 13:33:07.3810 +0900 
OS Version:   iPhone OS 10.1.1 (14B100) 
Report Version:  104 

Exception Type: EXC_CRASH (SIGKILL) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d 
Triggered by Thread: 0 

Filtered syslog: 
None found 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libsystem_kernel.dylib   0x000000018e8d9948 writev + 8 
1 CoreFoundation     0x000000018f909cc0 _CFLogvEx2Predicate + 452 
2 CoreFoundation     0x000000018f909eec _CFLogvEx3 + 408 
3 Foundation      0x00000001903f0454 _NSLogv + 132 
4 Foundation      0x000000019031735c NSLog + 32 
5 My App       0x00000001000511a4 0x100030000 + 135588 
6 My App       0x0000000100050f2c 0x100030000 + 134956 
7 My App       0x000000010008b18c 0x100030000 + 373132 
8 My App       0x0000000100089530 0x100030000 + 365872 
9 UIKit       0x00000001958a7dc0 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 728 
10 UIKit       0x0000000195958b34 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 268 
11 UIKit       0x0000000195a0bd5c _runAfterCACommitDeferredBlocks + 292 
12 UIKit       0x00000001959fdb10 _cleanUpAfterCAFlushAndRunDeferredBlocks + 560 
13 UIKit       0x000000019576c854 _afterCACommitHandler + 168 
14 CoreFoundation     0x000000018f8d37dc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 
15 CoreFoundation     0x000000018f8d140c __CFRunLoopDoObservers + 372 
16 CoreFoundation     0x000000018f8d189c __CFRunLoopRun + 1024 
17 CoreFoundation     0x000000018f800048 CFRunLoopRunSpecific + 444 
18 GraphicsServices    0x0000000191286198 GSEventRunModal + 180 
19 UIKit       0x00000001957e52fc -[UIApplication _run] + 684 
20 UIKit       0x00000001957e0034 UIApplicationMain + 208 
21 GroundStation Pro    0x00000001000f27b0 0x100030000 + 796592 
22 libdyld.dylib     0x000000018e7e45b8 start + 4 
+1

クラッシュレポートを象徴的に表示することで、アプリ内のどこがクラッシュするかを正確に確認できます。 – rmaddy

+0

そして、クラッシュしているコードを表示します。 – matt

答えて

0

は、まずあなたはmain.mにコードを追加するべきではありません。このようなコードをアプリケーションデリゲートに配置してください。

第2に、0x8badf00dクラッシュは、アプリケーションの起動に時間がかかりすぎて発生する既知のエラーです。これは、上記のように間違った場所にログの開始コードがあるためです。それとも何か他のものかもしれない。

一般的に、アプリケーションの起動には時間がかかることがあります。遅延したり、バックグラウンドスレッドに配置したりする必要があります。アプリケーションを起動すると、できるだけ早くユーザーがアプリケーションのホーム画面に移動するはずです。

+0

私はメインからデリゲートに移動します。起動時にクラッシュすることはなく、ユーザーがアプリを操作している間に –

関連する問題