Building for iOS Simulator, but linking in dylib built for iOS. for architecture arm64

iOS混編項目從x86 macbook遷移到arm架構的Macbook屈张,項目編譯失敗的解決方案

本文寫于2021年8月辐棒,完善與2021年11月写半,xcode版本號為13爱榕,請注意時效璧尸。本文的方法屬于盲人摸象式的不完全歸納法涌萤,是“bug + bug = 成功運行”的典型范例番舆;

背景

2014年MacbookPro換2020年MacBook Air (M1芯片)
新設備Xcode版本為12贫橙,操作系統(tǒng)為11.5.1 , Big Sur
項目中使用cocoapod引入網易云信 NIMSDK_Lite最新的版本喘帚;

故障現(xiàn)象

項目在老設備上使用模擬器可以正常編譯畅姊,拷貝到新設備后,模擬器編譯報錯:
大致的錯誤內容為:

building for iOS Simulator, but linking in dylib built for iOS

或者

Xcode 12, building for iOS Simulator, but linking in object file built for iOS, for architecture arm64

但是如果是真機編譯則沒有問題啥辨;

問題分析

新的設備是Apple M1芯片涡匀,xcode12使用模擬器編譯時,只需要一套設備上用的arm64的架構來編譯即可溉知,但是有些Pod庫會不支持這樣的用法陨瘩,Xcode12 + M1芯片設備的組合不知道為啥不能智能處理,也許是兼容的bug吧级乍,總之具體原因不詳舌劳。

解決方案

我按照以下方案解決了上述問題;
https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios

劃重點:

Basically you have to exclude arm64 for simulator architecture both from your project and the Pod project,

  • To do that, navigate to Build Settings of your project and add Any iOS Simulator SDKwith value arm64 inside Excluded Architecture.
XGVJM.png

注意玫荣,重要的事情說三遍:

both from your project and the Pod project

both from your project and the Pod project

both from your project and the Pod project


重要說明:

上面的方面可以解決在模擬器上運行APP的問題甚淡,但是真機聯(lián)調和Archive 打包還是有問題的。
會報錯:

Unable to find a profile type for platform iOS and purpose development. You may need to reinstall Xcode.

如果你有幸能遇到這個問題捅厂,請不要真的傻乎乎的去重新安裝Xcode了贯卦。
請試試修改Xcode的編譯器為老的模式资柔;

截屏2021-11-28 上午11.33.17.png

Xcode菜單>File>Workspace Settings

截屏2021-11-28 上午11.33.30.png

修改Build System為:Legacy Build System(Deprecated)


番外篇:

上面的方案的確管用了一陣,但是后來又不管用了撵割。我在項目中使用cocoaPod導入了NIMSDK_Lite贿堰,當我刪除項目中引入的類庫 SPaySDK后,項目就無法正常編譯了啡彬。提示都是 與 NIMSDK_lite 類庫相關的一些錯誤羹与。
上面的方法全都失效了。
之前能用庶灿,可能是因為 bug + bug = 意外修復bug的情況吧纵搁。

錯誤提示為:
Building for iOS Simulator, but linking in dylib built for iOS, file '/Users/xxxx/iOS/kdh_iOS/Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/NIMSDK' for architecture arm64

最后,使用下面的方案徹底解決問題:
https://stackoverflow.com/questions/65978359/xcode-error-building-for-ios-simulator-but-linking-in-dylib-built-for-ios-f

  • Quit Xcode.
  • Go to Finder and open Application Folder.
  • Right click on Xcode application, select Get Info
  • In the "Xcode Info Window" check on Open using Rosetta.
  • Open Xcode and try running again.
1031635861546_.pic_hd.jpg

總結 - 成功狀態(tài)截圖

我這邊最后的成功狀態(tài)如下:

  • 模擬器可以正常運行往踢;
  • 真機聯(lián)調可以正常運行腾誉;
  • Archive 打包可以正常運行;
  • 在切換運行方式時峻呕,不需要調整任何配置妄辩。

設備型號

截屏2021-11-28 上午11.43.53.png

Xcode 13.1

截屏2021-11-28 上午11.38.50.png

Build System為:Legacy Build System(Deprecated)

截屏2021-11-28 上午11.33.30.png

Xcode 的打開模式為: Rosetta

1031635861546_.pic_hd.jpg

Excluded Architectures 配置:(APP target)

截屏2021-11-28 上午11.39.45.png

Excluded Architectures 配置:(Pods target)

截屏2021-11-28 上午11.41.42.png

Enable Bitcode = NO

包括:

  • App Target > Build Settings > Enable Bitcode
  • Pods Project > Build Settings > Enable Bitcode


    截屏2021-11-28 上午11.47.14.png
截屏2021-11-28 上午11.47.30.png

模擬器運行時,build Configuration 要選成 Debug

截屏2021-12-04 下午7.27.04.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末山上,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子英支,更是在濱河造成了極大的恐慌佩憾,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件干花,死亡現(xiàn)場離奇詭異妄帘,居然都是意外死亡,警方通過查閱死者的電腦和手機池凄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進店門抡驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肿仑,你說我怎么就攤上這事×笪” “怎么了伟端?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵党巾,是天一觀的道長。 經常有香客問我驳规,道長达舒,這世上最難降的妖魔是什么巩搏? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任贯底,我火速辦了婚禮禽捆,結果婚禮上飘哨,老公的妹妹穿的比我還像新娘。我一直安慰自己芽隆,他們只是感情好胚吁,可當我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著孽拷,像睡著了一般半抱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上进肯,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天,我揣著相機與錄音环形,去河邊找鬼抬吟。 笑死火本,一個胖子當著我的面吹牛,可吹牛的內容都是我干的茫陆。 我是一名探鬼主播,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼揍魂!你這毒婦竟也來了桨醋?” 一聲冷哼從身側響起现斋,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎庄蹋,沒想到半個月后返顺,有當地人在樹林里發(fā)現(xiàn)了一具尸體蔓肯,經...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年振乏,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔗包。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慧邮。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡误澳,死狀恐怖忆谓,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情哨免,我是刑警寧澤,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站采桃,受9級特大地震影響懒熙,放射性物質發(fā)生泄漏。R本人自食惡果不足惜普办,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一工扎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧泌豆,春花似錦定庵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贞远,卻和暖如春畴博,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蓝仲。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工俱病, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袱结。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓亮隙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垢夹。 傳聞我的和親對象是個殘疾皇子溢吻,可洞房花燭夜當晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內容