接手iOS老项目的问题一

722 阅读1分钟

突然要接手一个老项目,发现是直接无法在新Xcode运行的,老项目应该是在Xcode11.0左右 ,而我现在使用的是13.0。

首先在项目运行的时候遇到第一个问题是第三方sdk头文件的的缺失,按照一般处理流程,应该是framework路径问题,由于老项目中的SDK没有用到第三方管理工具,是直接 拖到项目中的,并且配置相应的依赖。

'UMCommon/UMCommon.h' file not found

首先检查Framework search Paths,是没有问题的,为了以防万一,有重新导入了一遍,还是不行,最后发现在UMCommon的frameworker的结构组成和一般不一样

UMCommon.framework

1.UMCommon文件(大小30B,打不开)

2.Header文件(29B,打不开)

3.Versions文件夹:(version是文件夹下是由A文件夹和current文件组成,而在A文件夹下才是UMCommon文件14M大小,Header文件(包含各种头文件))

4.其它(数字和字母组合的文件名,大小几字节)

这样的framework在刚导项目中,可能会没问题,他可能是通过软连接连接的,但到切换Xcode后就会导致无法连接到framework的文件了

解决方法:就是直接把versions文件夹下A文件中的真正的头文件和UMCommon文件移到第一层文件下,替换掉UMCommon文件和Header文件,删除掉versions文件夹

再把这个改造好的framework重新添加到项目,clean一下,就可以允许了