因Xcode的Assets問題發(fā)布App Store導(dǎo)致運行崩潰

一、前言

文章主要講解自己親身經(jīng)歷的一個奇葩問題的處理全過程:

Xcode8打包發(fā)布后iOS9.0~9.2機型閃退
永無止境

就在幾個月前逮诲,在公司發(fā)布更新app后,很快通過了蘋果的審核,本來很高興评腺,這下該解決的bug也解決了,新功能也上線了蝶念,可以漲工資了芋绸,哇哈哈!M⑷亍马昙!
突然,微信里面收到騰訊Bugly發(fā)過來的消息提醒(項目集成了Bugly,主要是監(jiān)測崩潰率攒暇,上報崩潰日志)子房,說我的應(yīng)用崩潰率波動異常大,此時的我心中有一萬個草泥馬在奔跑田度,趕緊打開Bugly看崩潰日志解愤,經(jīng)過一番排查定位,最終確定新版本的崩潰全部發(fā)生在了iOS 9.0 ~ 9.2之間兰怠,哥們我趕緊拿出所有測試機(也只有iOS 7.1/9.3.5/10.1三部手機)揭保,用代碼跑沒問題,從App Store下載更新也沒問題秸侣。找遍全公司,幸好有個小妹妹的古老的iPad 系統(tǒng)是9.1椭坚,二話不說奪了過來搏色,趕緊用代碼運行跑起來,哎喲握草垂涯,不會崩潰啊航邢,一臉懵逼!2俾狻赚窃!換個思路,直接從App Store下載下來跨细,好了河质,見證奇跡的時刻來了,哎喲散休,我一啟動app乐尊,卡著不動,大約10s之后果斷閃退限府,此時的我淚流滿面啊痢缎,果然崩潰發(fā)生在iOS 9.0 ~ 9.2。
你以為問題就解決了么署穗?這只是定位到了問題,問題出在哪然而還是一臉懵逼案疲,為什么會這樣,然后開始瘋狂搜索诺舔。春贸。遗遵。

二、崩潰原因

在Xcode8中允粤,如果你的圖片資源文件里有16位圖或者圖片顯示模式為P3翼岁,并且Deployment Target是iOS9.3以下的就會出現(xiàn)這個問題。(話說項目里面就是因為一張小小的圖片悉患,導(dǎo)致了這次崩潰榆俺,不知道設(shè)計師是怎么弄出來的這個特殊圖片…)如果你的App需要支持wide color functionality,那你就必須設(shè)置Deployment Target為iOS9.3以上陪捷。如果你的APP不需要支持wide color functionality并且你希望兼容iOS老版本诺擅,那么你需要將所有16-bit or P3 assets的圖片轉(zhuǎn)換為8-bit sRGB assets。
此前圖片資源都是放在另外的文件夾里面的苍碟,而這個版本特意整理了項目的文件夾撮执,把圖片資源都放到了image.xcassets了,這一移動導(dǎo)致這個問題的出現(xiàn)县忌。

三、定位問題圖片

  1. 打一個ipa包症杏,解壓你的應(yīng)用的ipa包,進入到你應(yīng)用的Playload文件夾穴豫。
  2. 用find命令定位到Assets.car文件
find . -name 'Assets.car'
  1. 使用 assetutil 命令導(dǎo)出圖片的信息存儲到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
  1. 打開剛才生成的Assets.json文件精肃,查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″的內(nèi)容帜乞。這個對應(yīng)的Name就是出現(xiàn)問題的圖片了。
{
    "SizeClass Vertical" : "universal",
    "Graphics" : "GLES2,0",
    "Name" : "ianisme.com",
    "Scale" : 2,
    "Idiom" : "universal",
    "Memory" : "512MB",
    "LayoutDirection" : "0 - Horizontal",
    "DisplayGamut" : "P3",
    "Encoding" : "ARGB-16",
    "SizeClass Horizontal" : "universal",
    "Image Type" : "kCoreThemeOnePartScale",
    "AssetType" : "Image",
    "Subtype" : 0,
    "EdgeInsets" : "top:0 left:0 bottom:0 right:0"
  }

四习柠、轉(zhuǎn)換圖片為8-bit sRGB assets格式

找到這個圖片照棋,然后Command+i 查看這個圖片的信息,發(fā)現(xiàn)這個出問題的文件的顏色描述文件有問題溶锭,和別的圖片文件不一樣符隙。

問題圖片
其它正常圖片

使用ColorSync實用工具將這個描述文件修改如下:


指派它的描述文件為sRGB IEC61966-2.1驻售,保存更米。

最后打包重新加急審核征峦。。栏笆。第二天,審核通過蚜枢,下載安裝沒有問題。

五厂抽、總結(jié)

這次的問題若不是及時發(fā)現(xiàn),將會會導(dǎo)致大面積用戶無法正常使用app昭殉,從而升級成一次嚴重事故藐守。幸運的是問題及時解決了,很感謝小妹妹的救命iPad乾蓬。所以足淆,遇到問題不必驚慌礁阁,只要按照正常思路,發(fā)現(xiàn)問題姥闭,尋找規(guī)律、定位問題靠欢、直到找到解決辦法铜跑。

此外還要感謝以下技術(shù)大牛:

http://www.tuicool.com/articles/meiMZze

順便附上一片app性能檢測的文章:

https://mp.weixin.qq.com/s/e-UDC_j9LZX5_YDG4s0-gg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锅纺,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子坦弟,更是在濱河造成了極大的恐慌官地,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赤炒,死亡現(xiàn)場離奇詭異,居然都是意外死亡莺褒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門拾因,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绢记,“玉大人,你說我怎么就攤上這事蠢熄÷酰” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵饥追,是天一觀的道長罐盔。 經(jīng)常有香客問我,道長捏顺,這世上最難降的妖魔是什么纬黎? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮拆座,結(jié)果婚禮上诈泼,老公的妹妹穿的比我還像新娘。我一直安慰自己岖赋,他們只是感情好瓮孙,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布选脊。 她就那樣靜靜地躺著恳啥,像睡著了一般丹诀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铆遭,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天枚荣,我揣著相機與錄音,去河邊找鬼橄妆。 笑死,一個胖子當(dāng)著我的面吹牛矢劲,可吹牛的內(nèi)容都是我干的蛮原。 我是一名探鬼主播另绩,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蹦漠!你這毒婦竟也來了车海?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤研铆,失蹤者是張志新(化名)和其女友劉穎州叠,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咧栗,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年交煞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片集嵌。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡御毅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出咽块,到底是詐尸還是另有隱情欺税,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布亭罪,位于F島的核電站,受9級特大地震影響应役,放射性物質(zhì)發(fā)生泄漏燥筷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一袍祖、第九天 我趴在偏房一處隱蔽的房頂上張望谢揪。 院中可真熱鬧,春花似錦拨扶、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奶赔。三九已至,卻和暖如春站刑,著一層夾襖步出監(jiān)牢的瞬間鼻百,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工因悲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晃琳。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓琐鲁,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顾翼。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容