iOS制作SDK(framework/静态库)常见问题

1.头文件件引入错误

SDK.h file not found:检查引入的SDK的头文件不能找到,检查所依赖的SDK包是否支持当前开发版本

image.png

2.SDK之间的相互依赖:

倘若SDKA 依赖于 SDKB,同时SDKA、SDKB也同时依赖SDKC,那么在制作SDKA的时候,只需要在SDK中加入SDKB,但是SDKB的头文件中要引入SDKC。如

image.png

UPHKTradeSDKUPHKUserSDK都依赖UPHKBase,那么只需在UPHKUserSDK中引入UPHKBase
image.png

image.png

3.依赖错误

Include of non-modular header inside framework moduleSDK单独编译没问题,在依赖其它SDK后,编译报这个错误,只将该SDK的允许包含其它framework如下参数改为允许YES即可。

image.png

4.未找到相关SDK

Could not build module:导致该错误的原因有很多,常见的可从以下中进行排查

  • Framework路径是否正确
image.png
  • SDK的依赖关系是否正确
  • 所依赖的SDK是否可通过单独编译
  • 外部引用的依赖的SDK的头文件是否暴露

5.referenced from

错误特征如下:_OBJC_CLASS_$_

  • m文件没有导入 在Build Phases里的Compile Sources 中添加报错的文件。
image.png
  • framework文件没有导入静态库编译时往往需要一些库的支持,查看你是否有没有导入的库文件同样是在Build Phases里的Link Binary With Libraries中添加。

6.改造后的工程多个framework由workspace管理,可能会导致工程自动构建失败,以fastLane为例:

错误如下:Error setting value 'qzone/qzone.xcodeproj' for option 'xcodeproj',检查构建脚本,是否路径配置错误等信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容