xcode framework 的嵌套引用

                        |-----------projectA(static framework)|
          workspace     |-----------projectB(static framework)|           
                        |-----------projectC(static framework)|
                        |----------projectApp|

projectA 需要引用静态库xxFramework,
projectB 需要引用静态库xxFramework,
projectC 需要引用静态库xxFramework,
projectApp 需要引用静态库xxFramework,
第一步,在Build Phases-->Link Binary With Libraries--->添加xxFramework
第二步,在Build Settings-->Search Paths--->Framework Search Paths--->添加xxFramework所在的路径

xxFramework作用就相当于是引入了头文件, 子工程中,并没有引入xxFramework中的可执行文件
因此编译projectA , projectB , projectC并没有将xxFramework中的可执行文件,编译到对应的projectA , projectB , projectC framework中,仅仅是引入头文件,真正链接是在projectApp中,将projectA framework projectB framework
projectC framework xxFramework进行链接起来。

另外需要注意的是,如果在projectA(static framework)中,想要把xxFramework中可执行文件(binary file)打入到静态库中,必须将xxFramework中可执行文件单独引用出来,也就是说如果引入framework路径,只是告诉引入了头文件,二进制可执行文件的引入,
必须指定二进制可执行文件的路径。

xx.a+xx.h (静态库文件)

projectA 需要引用xx.a+xx.h
projectB 需要引用xx.a+xx.h
projectC 需要引用xx.a+xx.h
也就是说,如果三个静态库工程都需要同一个静态库xx.a,这个时候,可以把在projectA , projectB , projectC 中只引入头文件xx.h,不需要引入xx.a,在projectApp中,在Build Phases-->Link Binary With Libraries--->引入xx.a, 在Build Settings-->Search Paths--->Library Search Paths--->指定库文件的路径,在Build Settings-->Search Paths--->Header Search Paths中指定库文件的头文件的路径,
就可以达到共用的效果了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 静态库与动态库的区别 首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别...
    吃瓜群众呀阅读 14,168评论 3 42
  • 仅以方便自己查阅记录前言1.静态库和动态库有什么异同?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗...
    190CM阅读 9,873评论 0 4
  • 前言 1.静态库和动态库有什么异同? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。利用静态...
    Ly梦k阅读 12,761评论 3 18
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,552评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,519评论 2 59

友情链接更多精彩内容