一个静态框架错误:头文件找不到

来源:互联网 发布:网络词沒毛病什么意思 编辑:程序博客网 时间:2024/05/17 09:06

在公司创建了一个自己的静态框架,在本机调试通过,但同事的机器上却出现框架文件找不到错误“YNDLT.framework/dltlog.h file not found.”

打开同事发来的工程,发现框架文件有一些异常,如下图所示:


而在正常情况下,Xcode的Files & Groups面板中 YNDLT.framework 应该显示为如下图所示:

也就是说在YNDLT.framework下面应该有Headers和PrivateHeader两个目录——其实是两个快捷方式,指向Versions/A下面的相应目录。展开Headers组,会列出框架中所有的Public头文件:

如果你用finder打开YNDLT.framework框架(其实是个目录),可以看到如下结构。

其中,Headers和PrivateHeaders的图标左下方都有一个箭头,表明是一个“替身”。

但是在同事发来的工程中,YNDLT.framework目录显示如下:

所有快捷方式(或“替身”)都变成了Shell脚本(Unix可执行文件)。

原来在将 YNDLT.framework 上传到git存储库时,直接上传的是YNDLT.framework目录,同事下载时,git将文件夹转为.zip,同时自动将所有的快捷方式转成了shell脚本文件。导致framework不能被Xcode正确识别。

因此,将git库中的YNDLT.framework删除,将YNDLT.framework目录打包成.zip文件上传到git库,问题解决。

 


原创粉丝点击