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的模擬器,但是調試列表里面缺看不到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
結果:可以運行腔寡,本以為問題解決了洪添。但是當我換回 iPhone XS調試的時候垦页,出現(xiàn)問題了。發(fā)現(xiàn)iPhone XS無法調適了 錯誤提示:
The linked library 'xxx.a' is missing one or more architectures required by this target: arm64.
解決方案就是把 原來 armv7 改為 arm64就可以了干奢。
這個時候我們發(fā)現(xiàn)了問題痊焊,我們能不能把 armv7 和 arm64 都添加上去呢。結果是不行的,當我們把這兩個架構都排除了以后薄啥,發(fā)現(xiàn)任何一個設備都無法調適了辕羽,因為Excluded Architectures
這個屬性是排除一個架構。那么我們就只能調適 低版本 的時候 排除 armv7,調試高版本的時候 排除 arm64嗎垄惧?那樣也太麻煩了刁愿,有沒有其他的解決方法嗎?
最終解決方案
當切換低版本設備調試的時候
command + shift + k
就可以了到逊,看到這里想必大家就知道怎么回事了铣口。當?shù)桶姹驹O備切換新版本時 同理。