一、bitcode bundle could not be generated because ' XXXX' 錯(cuò)誤
這類錯(cuò)誤是由于靜態(tài)庫不支持bitcode而你自己的工程支持bitcode,解決方案有兩種:
1、讓靜態(tài)庫支持bitcode:Target -》 Build Settings -》Other C Flags 添加?-fembed-bitcode
注意:(更詳細(xì)的可自行百度)
確保打包的時(shí)候使用的是fembed-bitcode, 而不是fembed-bitcode-maker?
fembed-bitcode-maker:只是簡單的標(biāo)記一下在archive出來的二進(jìn)制中bitcdoe所在的位置。
fembed-bitcode: 真的會(huì)生成bitcode指令,并且嵌入到二進(jìn)制中
2、自己的工程關(guān)閉bitcode:Target -》 Build Settings -》Enable Bitcode 設(shè)置為NO(xcode9 默認(rèn)創(chuàng)建的工程Enable Bitcode為YES)
二、調(diào)用framework中的方法或framework內(nèi)部調(diào)用方法導(dǎo)致unrecognized selector sent to class XXXX 錯(cuò)誤
此類問題多半是由于靜態(tài)庫添加了Category導(dǎo)致的,需要在自己的項(xiàng)目中配置,Target -》 Build Settings -》Other Linker Flags 添加-ObjC
解決這個(gè)錯(cuò)誤的方法就是:將Category的方法鏈接到APP中,這樣APP運(yùn)行時(shí),就能夠找到對(duì)應(yīng)的selector。而 –ObjC就可以完成這個(gè)任務(wù)。
?"-ObjC"的作用是:將靜態(tài)庫中任何Objective-C代碼都鏈接到APP中。任何Objective-C代碼當(dāng)然也包括Category的方法。可以看出,使用-ObjC可能會(huì)鏈接很多靜態(tài)庫中未被使用的Objective-C代碼,極大的增加APP的代碼體積。
"-ObjC" 的兄弟
遇到問題會(huì)持續(xù)補(bǔ)充...