推播通知閃退 Xcode 除錯技巧

 
最近開發的 App 發現點擊通知列訊息後 ,
發生 App 閃退 (Crash) 及無法進入相對頁面的情況,
查了一下可以發現其實因為 App 的生命週期會分成底下兩種 :

 

1. App 不在背景,點推播無法進入 App 頁面 (App 閃退)。
2. App 在背景,點推播無法到相對應的頁面 。
 
然後如果你接著 Xcode 把 App 滑(關)掉,就無法持續 Debug。
但是基本上 Xcode 是可以提供等待 App 執行後在接續除錯,但是這邊有個小問題,
正常直接執行會有 Log 但是如果在等待 App 執行後在接續除錯這個模式會看不到 Log 
(至少我自己在 Xcode 10.3 上看不到 Log )
但是還是能下中斷點還有閃退的時候會停在該行程式碼,這樣勉強夠用。
後來很快發現就是某個 ViewController 沒有初始化完成就使用造成閃退。
 
底下是設定方法請服用 : 
 
1- Go to edit schema
2- Select run section from left list
3- Then in info tab goto part launch options
4- Select option: wait for executable to be launched
5- Then close the window
6- Run the app : the app will build but not launched because it's waiting for you to launch the app manually
7- At this time send your notification to your device
8- Tap on the notification and your app will launched and the debugger goes to breakpoints you attached in lines of code

留言