iOS - Xcode8的(圖片格式)assets問題導(dǎo)致運(yùn)行iOS8崩潰

前言:

最近升級 Xcode8.0后一直擔(dān)心有什么隱藏的問題,今天又被坑了一次,不知道什么原因 Xcode 運(yùn)行的時候一直crash到main函數(shù),卡在啟動頁,沒有任何錯誤信息,仔細(xì)檢查了自己寫的東西,確認(rèn)沒有什么錯誤,在項(xiàng)目里面是一頓狂找,還是無果,折騰了很久,就利用 SVN 回滾,才發(fā)現(xiàn)是最近添加圖片的造成的原因,下面給出解決方法:

6DA1D65CB694340246488599D474C77E.jpg

左圖是不符合要求的圖片格式,右圖是符合要求的圖片

針對情況:

如果你剛剛升級了Xcode8,而你的項(xiàng)目的Deployment Target是iOS 9.3以下虽风,運(yùn)行iOS8的時候過了幾十秒后crash到main函數(shù)船侧,出現(xiàn)EXC_BAD_ACCESS耕捞,或者崩潰到imageNamed:梨睁,或者每次編譯運(yùn)行隨機(jī)崩潰到某個地方柜裸。

崩潰的原因:

在Xcode8中,如果你的圖片資源文件里有16位圖或者圖片顯示模式為P3,并且Deployment Target是iOS9.3以下的就會出現(xiàn)這個問題俄讹。(話說我公司的項(xiàng)目里面就出現(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

定位到問題圖片
  • 打一個ipa包踪蹬,解壓你的應(yīng)用的ipa包,進(jìn)入到你應(yīng)用的Playload文件夾
  • 用find命令定位到Assets.car文件
    find . -name 'Assets.car'
  • 使用 assetutil 命令導(dǎo)出圖片的信息存儲到Assets.json文件中
    sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
  • 打開剛才生成的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"
 },
具體的圖片處理方式:
  • 最簡單的方法就是,聯(lián)系 UI 重新鎖一個符合要去的圖片(這是最簡答的方法)
  • 當(dāng)然還有其他的解決方法(操作有點(diǎn)復(fù)雜),請參考https://www.ianisme.com/ios/2409.html
當(dāng)然還可以參考這篇文章:

http://stackoverflow.com/questions/39404285/xcode-8-build-crash-on-ios-9-2-and-below

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亡哄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子布疙,更是在濱河造成了極大的恐慌蚊惯,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件灵临,死亡現(xiàn)場離奇詭異截型,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)儒溉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進(jìn)店門宦焦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人顿涣,你說我怎么就攤上這事波闹。” “怎么了涛碑?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵精堕,是天一觀的道長。 經(jīng)常有香客問我蒲障,道長歹篓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任揉阎,我火速辦了婚禮庄撮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毙籽。我一直安慰自己重窟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布惧财。 她就那樣靜靜地躺著巡扇,像睡著了一般扭仁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厅翔,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天乖坠,我揣著相機(jī)與錄音,去河邊找鬼刀闷。 笑死熊泵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的甸昏。 我是一名探鬼主播顽分,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼施蜜!你這毒婦竟也來了卒蘸?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤翻默,失蹤者是張志新(化名)和其女友劉穎缸沃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體修械,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趾牧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了肯污。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翘单。...
    茶點(diǎn)故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蹦渣,靈堂內(nèi)的尸體忽然破棺而出哄芜,到底是詐尸還是另有隱情,我是刑警寧澤剂桥,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布忠烛,位于F島的核電站,受9級特大地震影響权逗,放射性物質(zhì)發(fā)生泄漏美尸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一斟薇、第九天 我趴在偏房一處隱蔽的房頂上張望师坎。 院中可真熱鬧,春花似錦堪滨、人聲如沸胯陋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遏乔。三九已至义矛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盟萨,已是汗流浹背凉翻。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捻激,地道東北人制轰。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像胞谭,于是被迫代替她去往敵國和親垃杖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評論 2 348

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