只為記錄項(xiàng)目中問(wèn)題。
問(wèn)題描述:項(xiàng)目開(kāi)發(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ì)有問(wèn)題屁奏,未知岩榆,,需慎行坟瓢。