Xcode Build For ios Simulator arm64

前言

將一個老項(xiàng)目由Xcode11升級到Xcode12的時候灶平,在用模擬器編譯的時候惕蹄,報(bào)了一個錯誤绎狭,具體如下:

“l(fā)d: building for iOS Simulator, but linking in dylib built for iOS, file '/Users/xxxx/Work/Git/xxx/Framework/GoogleCast/GoogleCast.framework/GoogleCast' for architecture arm64”

我使用模擬器編譯的,遇到arm64的錯誤侥涵,一開始還是一頭霧水啊沼撕。于是Google和百度就上了,經(jīng)過一番查找芜飘,基本定位到問題了务豺。

原因

下面翻譯一位外國同仁的解釋:

Xcode 12實(shí)際上是Apple Silicon的墊腳石,但有了這個平臺嗦明,我們將得到基于arm64的macOS笼沥,模擬器也將運(yùn)行在arm64架構(gòu)上,而不是目前基于Intel的x86_64架構(gòu)娶牌。

Xcode通常依賴于“Run Destination”來構(gòu)建它的庫/應(yīng)用程序奔浅,所以當(dāng)一個模擬器被選擇為“Run Destination”時,它將為可用的模擬器架構(gòu)構(gòu)建應(yīng)用程序裙戏,當(dāng)一個設(shè)備被選擇為“Run Destination”時乘凸,它將為設(shè)備支持的架構(gòu)構(gòu)建(arm*)厕诡。

xcodebuild累榜,在Xcode 12+ build系統(tǒng)中,arm64是支持Apple Silicon的有效架構(gòu)。因此壹罚,當(dāng)一個模擬器被選擇為運(yùn)行目標(biāo)時葛作,它可能會嘗試針對基于arm64的模擬器編譯/鏈接你的庫/應(yīng)用程序。所以它在<architecture>-<os>-<sdk>-<destination>格式中給clang(++)發(fā)送了一些-target標(biāo)志猖凛,如arm64-apple-ios13.0-simulator赂蠢,clang試圖構(gòu)建/鏈接基于arm64的模擬器,但最終在基于Intel的mac上失敗辨泳。

但xcodebuild只在發(fā)布版本中嘗試這個虱岂。因?yàn)椤癇uild Active Architecture Only (ONLY_ACTIVE_ARCH)”構(gòu)建設(shè)置通常被設(shè)置為“No”,僅用于“發(fā)布”配置菠红。這意味著xcodebuild將嘗試為選定的運(yùn)行目標(biāo)構(gòu)建所有庫/應(yīng)用的架構(gòu)變體第岖。對于模擬器運(yùn)行目標(biāo),它現(xiàn)在將包括x86_64和arm64试溯,因?yàn)閍rm64在Xcode 12+中也是一個支持Apple Silicon的模擬器架構(gòu)蔑滓。

了解原因后,剩下來就是如何解決了遇绞。

解決方法

首先看一下Xcode11和Xcode12在Architecture配置這一塊的區(qū)別:

Xcode11:

Xcode11中有Valid Architectures的配置項(xiàng)键袱。

Xcode12:

在Xcode12中,在Architecture配置組中摹闽,用Excluded Architectures代替了Valid Architectures蹄咖,那么Valid Architectures跑到哪里去了,在User-Defined配置組里面钩骇。

我們的目的是能在Xcode12的模擬器上順利編譯比藻,那么可按照下面的步驟修改:

1. 將Build Active Architecture Only配置的debug值改為Yes。如下圖倘屹。

2. 如果在Xcode11中有Valid Architectures的配置項(xiàng)银亲,那么請?jiān)赬code12的User-Defined配置組里面刪除Valid Architectures的配置項(xiàng),同時在Target上面的Project里面的User-Defined配置組里面同樣刪除Valid Architectures的配置項(xiàng)纽匙,如何刪除务蝠,選中,敲擊鍵盤的delete就可以了烛缔。

3. 將Validate Workspace配置項(xiàng)修改一次馏段,一定要變成黑粗體,默認(rèn)值是NO践瓷,改成Yes就可以院喜,或者再改回NO,反正得折騰一次晕翠。見下圖喷舀。(之前有一篇文章升級Xcode12.3報(bào)錯提到過這個配置砍濒,可參考一下。)

4. 配置完前三步基本就能編譯通過了硫麻,如果還是報(bào)錯爸邢,請嘗試在Excluded Architectures的debug模式下添加arm64,如下圖:

經(jīng)過這幾步拿愧,基本就能順利編譯通過了杠河,不過別忘了再用真機(jī)編譯試試哦,別再影響了真機(jī)測試浇辜。

結(jié)束語

個人感覺這個是Xcode12的一個坑了券敌,不過如果所有的項(xiàng)目里面都采用XCFramework,估計(jì)這個問題就能屏蔽掉了柳洋。

原文鏈接:https://blog.csdn.net/guoyongming925/article/details/114628455

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陪白,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子膳灶,更是在濱河造成了極大的恐慌咱士,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轧钓,死亡現(xiàn)場離奇詭異序厉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)毕箍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門弛房,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人而柑,你說我怎么就攤上這事文捶。” “怎么了媒咳?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵粹排,是天一觀的道長。 經(jīng)常有香客問我涩澡,道長顽耳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任妙同,我火速辦了婚禮射富,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粥帚。我一直安慰自己胰耗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布芒涡。 她就那樣靜靜地躺著柴灯,像睡著了一般掂恕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上弛槐,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機(jī)與錄音依啰,去河邊找鬼乎串。 笑死,一個胖子當(dāng)著我的面吹牛速警,可吹牛的內(nèi)容都是我干的叹誉。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼闷旧,長吁一口氣:“原來是場噩夢啊……” “哼长豁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忙灼,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤匠襟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后该园,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酸舍,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年里初,在試婚紗的時候發(fā)現(xiàn)自己被綠了啃勉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡双妨,死狀恐怖淮阐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刁品,我是刑警寧澤泣特,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站挑随,受9級特大地震影響群扶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜镀裤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一竞阐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧暑劝,春花似錦骆莹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丢氢。三九已至,卻和暖如春先改,著一層夾襖步出監(jiān)牢的瞬間疚察,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工仇奶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留貌嫡,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓该溯,卻偏偏與公主長得像岛抄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狈茉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容