libsystem_kernel.dylib __abort_with_payload崩潰問題分析

1.原因

在bugly上查看崩潰日志,有一個頻繁發(fā)生的崩潰:libsystem_kernel.dylib __abort_with_payload

崩潰棧

從第4行可以看出,這是一個隱私違規(guī)。那么很容易猜測:定位、圖片庫、相機等等。此時我們?nèi)?code>info.plst中查看是否忘記了添加哪個權(quán)限即可。

然而還是崩潰!??!

發(fā)現(xiàn)我們所有用到的權(quán)限都已經(jīng)添加:定位、錄音、圖片庫、相機,就這四個。

繼續(xù)查找其他原因,先看看其他的棧信息,我們找到了如下關(guān)鍵點:


屏幕快照 2019-12-26 下午4.12.28.png

注意第3行,方法為_isPhotosAccessAllowedWithScope:accessAllowedHandler:??疵謶?yīng)該就是圖片庫的某一個權(quán)限。

然后查看bugly中記錄的跟蹤記錄,發(fā)現(xiàn)大體為兩種崩潰:
1.崩潰在WKActionSheet:

屏幕快照 2019-12-26 下午4.16.22.png

2.崩潰在WKImagePreviewController
屏幕快照 2019-12-26 下午4.17.04.png

這顯然是WebKit內(nèi)部的,然后就是復(fù)現(xiàn)了。找到webView中有圖片的地方,各種點擊,雙擊,長按手勢都試了一遍,最后發(fā)現(xiàn)長按某些圖片的時候,會彈出actionSheet,其中會有保存圖片的功能:

iOS13中長按img標(biāo)簽

點擊后果然發(fā)生了崩潰!這是因為沒有添加往相冊加入圖片的權(quán)限。

總結(jié):

在iOS13中,長按圖片會彈出上圖所示的菜單欄,此時查看視圖層級,發(fā)現(xiàn)就是WKImagePreviewController。在iOS13以下,長按會彈出系統(tǒng)ActionSheet,此時就是WKActionSheet。

解決

添加Privacy - Photo Library Additions Usage Description即可解決。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 剛開始看到分組的時候,心里咯噔了一下。小我在萎縮,心里有點不舒服。 看到,放下。還是習(xí)慣于覺得自己很重要。這個重要...
    簡藍心閱讀 168評論 0 0
  • Support Library 25.0.0 更新講解 字?jǐn)?shù)564閱讀4704評論29喜歡41 Support L...
    奈何心善閱讀 494評論 0 0
  • 2018年1月8日,三個同齡人分別從南北(廣州、大連)前往中國涼都——貴州六盤水。 他們是贏房中國人力資源咨詢事業(yè)...
    蛻變的痛閱讀 398評論 1 4
  • 下午跟兒子打羽毛球,有點累。不想動手做飯,于是和兒子到外面吃,在附近的一家面點王。晚上八點多,店里客人稀少,安靜舒...
    愚姐閱讀 226評論 3 1
  • 1、親人只有一次的緣分,無論這輩子我和你會相處多久,也請好好珍惜共聚的時光,下輩子,無論愛與不愛,都不會再見。 2...
    01ac9493dd9e閱讀 210評論 0 0

友情鏈接更多精彩內(nèi)容