The linked library 'xxx.a' is missing one or more architectures required by this target: armv7.

The linked library 'xxx.a(項目名稱)' is missing one or more architectures required by this target: armv7.

最近封了一個組件,想做低版本的適配。但是Xcode 12無法使用iOS 10.0的模擬器,雖然可以下載 iOS 10.3.1的模擬器,但是調(diào)試列表里面缺看不到10.3.1的模擬器,最后買了一個二手iPhone 5用做低版本測試機。

錯誤

iPhone 5的測試機雖然可以讀出來,但是運行的時候就報錯 The linked library 'xxx.a' is missing one or more architectures required by this target: armv7.

初步解決方案

Target->Build Settings->Excluded Architectures 中添加 armv7

結(jié)果:可以運行,本以為問題解決了。但是當(dāng)我換回 iPhone XS調(diào)試的時候,出現(xiàn)問題了。發(fā)現(xiàn)iPhone XS無法調(diào)適了 錯誤提示:The linked library 'xxx.a' is missing one or more architectures required by this target: arm64.解決方案就是把 原來 armv7 改為 arm64就可以了。
這個時候我們發(fā)現(xiàn)了問題,我們能不能把 armv7 和 arm64 都添加上去呢。結(jié)果是不行的,當(dāng)我們把這兩個架構(gòu)都排除了以后,發(fā)現(xiàn)任何一個設(shè)備都無法調(diào)適了,因為Excluded Architectures這個屬性是排除一個架構(gòu)。那么我們就只能調(diào)適 低版本 的時候 排除 armv7,調(diào)試高版本的時候 排除 arm64嗎?那樣也太麻煩了,有沒有其他的解決方法嗎?

最終解決方案

當(dāng)切換低版本設(shè)備調(diào)試的時候command + shift + k就可以了,看到這里想必大家就知道怎么回事了。當(dāng)?shù)桶姹驹O(shè)備切換新版本時 同理。

最后編輯于
?著作權(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)容

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