?產(chǎn)生原因:?
鏈接器在處理包含Category方法的UNIX的 "靜態(tài)庫" 時粗卜,沒有將Category的方法鏈接到APP中
解決辦法:
第一步:設置Other Linker Flags加入-ObjC法裁着。
之所以使用該標志甘畅,和Objective-C的一個重要特性:類別(category)有關镣典。根據(jù)官方的解釋,Unix的標準靜態(tài)庫實現(xiàn)和Objective-C的動態(tài)特性之間有一些沖突:Objective-C沒有為每個函數(shù)(或者方法)定義鏈接符號含潘,它只為每個類創(chuàng)建鏈接符號淀歇。
這樣當在一個靜態(tài)庫中使用類別來擴展已有類的時候,鏈接器不知道如何把類原有的方法和類別中的方法整合起來姚糊,就會導致你調(diào)用類別中的方法時贿衍,出現(xiàn)"selector not recognized",也就是找不到方法定義的錯誤救恨。
為了解決這個問題贸辈,引入了-ObjC標志,它的作用就是將靜態(tài)庫中所有的和對象相關的文件都加載進來忿薇。
第二步:Perform Single-Object Prelink 設置為YES裙椭。
說明: