最近在開發(fā)過程中遇到一個很奇葩的問題线罕,每次點擊推送進入應(yīng)用內(nèi)跳轉(zhuǎn)頁面之后蒜危,點擊返回的時候總是點擊兩次才能回到首頁腔丧,由于這個問題不能通過一般的手段定位問題警没,一度讓我有點苦惱葫哗,后來才發(fā)現(xiàn)了原因:
iOS 10之后蘋果官方新添加了兩個關(guān)于接收推送的方法:
而在iOS 10之前當(dāng)應(yīng)用被殺死之后點擊推送進入應(yīng)用缔刹,需要在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法內(nèi)添加處理推送的方法來響應(yīng)推送的點擊事件劣针。iOS 10之后校镐,無論應(yīng)用是否被殺死,點擊推送進入應(yīng)用都會調(diào)用上圖新增的方法捺典。因此在iOS 10之后系統(tǒng)就遇到了前面所說的問題:由于點擊推送的時候鸟廓,系統(tǒng)調(diào)用了新增的方法處理推送的點擊方法,然后又調(diào)用了didFinishLaunching里的方法襟己。引谜。。稀蟋。
很簡單的解決辦法:需要在didFinishLaunching里關(guān)于推送響應(yīng)事件的處理加上版本判斷煌张,在iOS 10之后不調(diào)用此方法。