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è)備切換新版本時 同理。