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