我是一名做iOS開發(fā)的小白限嫌,出于愛好會更新發(fā)表些相關的技術文章靴庆,偶爾也會發(fā)些視頻。懇請大家不要去嘲笑一個努力的人怒医,要是做的不好請多多評論炉抒,反正我也不改。
是這樣稚叹,前一陣我本來在開開心心的對著項目進行輸出懂缕,但是突然有個同事說自己的app有問題,更新版本后再一運行就莫名其妙的崩潰蝗茁。這讓我很驚訝递览,因為這不符合道理!
經(jīng)過我的真機測試扇调,發(fā)現(xiàn)并沒有這個問題出現(xiàn)。我查看了崩潰日志,發(fā)現(xiàn)斷點處代碼都不在關鍵點上蟀伸,于是就請求了蘋果的技術支持(一年就兩次,多了花錢)缅刽。蘋果的技術支持不愧是貨真價實啊掏,回復的干脆:看文檔!
哦衰猛。迟蜜。。嗯啡省?先不說文檔那么一大塊娜睛,還是全英文的。當然了卦睹,雖然在你們看來英文的文檔根本沒法看畦戒,但在我們搞開發(fā)的程序猿來說,尤其是我结序,那也是一臉懵逼障斋。
于是乎我只能慢慢搜索問題,經(jīng)過各種查證發(fā)現(xiàn)是一張圖片有了問題徐鹤。圖片如果是16位或者P3的色域垃环,就會在并且只在iOS 9.2.1系統(tǒng)下崩潰(顯然這個系統(tǒng)是有毒的)。
發(fā)現(xiàn)自然就能解決返敬,先打一個ipa包并解壓遂庄,使用終端輸入:cd path/Payload/XXX.app,path就是你的路徑了救赐。
接著使用find:find . -name 'Assets.car'涧团。
接著使用 assetutil 命令導出圖片的信息存儲到Assets.json文件中:sudo xcrun --sdk iphoneos assetutil --info/path/to/a/Assets.car> /tmp/Assets.json 把path替換成剛才find下的結(jié)果。
打開剛才生成的Assets.json文件经磅,查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″的內(nèi)容泌绣。這個對應的Name就是出現(xiàn)問題的圖片了。
這里我建議直接讓美工重新做一張圖片预厌,這樣沒有任何問題了阿迈,但也可以直接修改問題圖片。
這樣我們就不用去定位是哪個圖片的問題了轧叽,或許更方便一些苗沧。
這里我們使用bash script直接處理所有圖片為正確格式:
好了刊棕,這個問題到這里還是有沒解決的話,就可以跟老板說蘋果這個系統(tǒng)有問題待逞,不是咱們的鍋甥角。
加本菇?jīng)鯭群562984021一起交流咯,大家一起學習討論识樱,共同進步吧嗤无!~.~
(機會永遠是留給那些有準備的人)? ? ??謝謝大家支持 !A埂当犯!↓↓↓