關(guān)于Build Active Architecture Only屬性

只為記錄項(xiàng)目中問題。

問題描述:項(xiàng)目開發(fā)當(dāng)中,遇到切換debug和release環(huán)境時(shí),在模擬器出現(xiàn)了debug運(yùn)行正常,release運(yùn)行報(bào)錯(cuò):

/Users/jiangtaisheng/Documents/cmusic/Bravo/Pods/WechatOpenSDK/OpenSDK1.8.7.1/libWeChatSDK.a(WechatAuthSDK.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/jiangtaisheng/Documents/cmusic/Bravo/Pods/WechatOpenSDK/OpenSDK1.8.7.1/libWeChatSDK.a' for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

此時(shí)牽引出一個(gè)xcode的一個(gè)屬性 “Build Active Architecture Only”
這個(gè)屬性設(shè)置為yes,是為了debug的時(shí)候編譯速度更快,它只編譯當(dāng)前的architecture版本。而設(shè)置為no時(shí),會(huì)編譯所有的版本。
一般debug的時(shí)候可以選擇設(shè)置為yes,release的時(shí)候要改為no,以適應(yīng)不同設(shè)備。
所以在release環(huán)境下,Build Active Architecture Only 為 no,他會(huì)構(gòu)建所有的版本,而模擬器不支持 arm64架構(gòu) 所以會(huì)出現(xiàn) “l(fā)ibWeChatSDK.a' for architecture arm64”的報(bào)錯(cuò)。處理方法是:

   1.在真機(jī)上跑,release 環(huán)境。

   2.設(shè)置Build Active Architecture Only 屬性 release也設(shè)置成Yes。就可以了。上線以后會(huì)不會(huì)有問題,未知,,需慎行。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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