起因:
最近更新之后在 Xcode 的 Organizer 發(fā)現(xiàn)了一大批9.3.5崩潰的情況,而且唯獨崩潰9.3.5,占有率為99%,其他1%也是9.1和9.2的閃退。拿到iOS9.3.5 測試機之后發(fā)現(xiàn),從 Xcode 導(dǎo)入的 App 包并不會閃退。閃退的只有 App Store 的包。費了點時間裝上 TestFlight 之后總算找到原因了。
如果你的iOS 9.3.5 的閃退信息是:Dyld Message: Library not loaded: @rpath/XXXX.framework/XXXX
那么,請留意在XXXX的庫中的info.plist里是否有參數(shù)Required device capabilities?,有的話請刪除。
我的情況是在庫的 info.plist 有一個參數(shù)?Required device capabilities?的內(nèi)容是arm64。
該參數(shù)是限制在具有某種特性條件的設(shè)備上運行,設(shè)置成arm64就是說這個設(shè)備僅支持arm64指令集。但是我們在支持armv7的機型上也使用了該庫,所以會導(dǎo)致舊機型無法運行而閃退。
所以在發(fā)布時候請檢查info.plist 是否有?Required device capabilities?參數(shù),有則必須刪除內(nèi)容:arm64
發(fā)現(xiàn)是最高能升級到iOS 9.3.5的機器,例如ipad3 ,多半為armv7架構(gòu),現(xiàn)在普遍是arm64架構(gòu)。
arm64 : 必選項,支持iphone5s及以上;最低支持版本:iOS5.1.1
armv7s:支持iPhone5及以上;
armv7:支持iPhone4及以上;