一個靜態框架錯誤:頭文件找不到

在公司建立了一個本身的靜態框架,在本機調試經過,但同事的機器上卻出現框架文件找不到錯誤「YNDLT.framework/dltlog.h file not found.」git

打開同事發來的工程,發現框架文件有一些異常,以下圖所示:shell


而在正常狀況下,Xcode的Files & Groups面板中 YNDLT.framework 應該顯示爲以下圖所示:框架

也就是說在YNDLT.framework下面應該有Headers和PrivateHeader兩個目錄——實際上是兩個快捷方式,指向Versions/A下面的相應目錄。展開Headers組,會列出框架中全部的Public頭文件:.net

若是你用finder打開YNDLT.framework框架(實際上是個目錄),能夠看到以下結構。調試

其中,Headers和PrivateHeaders的圖標左下方都有一個箭頭,代表是一個「替身」。code

可是在同事發來的工程中,YNDLT.framework目錄顯示以下:ip

全部快捷方式(或「替身」)都變成了Shell腳本(Unix可執行文件)。get

原來在將 YNDLT.framework 上傳到git存儲庫時,直接上傳的是YNDLT.framework目錄,同事下載時,git將文件夾轉爲.zip,同時自動將全部的快捷方式轉成了shell腳本文件。致使framework不能被Xcode正確識別。文件上傳

所以,將git庫中的YNDLT.framework刪除,將YNDLT.framework目錄打包成.zip文件上傳到git庫,問題解決。it

相關文章
相關標籤/搜索