我有一个项目可以编译成一个库.a文件,它工作得很好但是当我尝试将CoreBluetooth这样的框架添加到项目中时,当我构建库时,核心蓝牙不适合搭载?
这不可能吗?当我将库导入项目时,我是否必须单独包含Core Bluetooth?
答案 0 :(得分:2)
您必须在静态库项目(包含文件)和最终二进制项目(用于链接框架)中包含CoreBluetooth。
静态库没有链接,所以他们不能“随身携带”CoreBluetooth。
答案 1 :(得分:0)
我有同样的问题。我的静态库使用了许多Apple框架。但是将库项目与这些框架相关联并不会将框架链接到使用该库的项目中。
它与静态库资源包非常相似。它们需要链接到包含库的主项目中,而不仅仅是库中的库。因此,如果您使用库中的框架,您需要使主项目链接框架(您实际上根本不需要将框架链接到静态库项目中)。
直接从主项目调用静态库代码。因此,如果库使用框架调用,则主项目需要了解它们。如果静态库可以像这样自包含,那就太好了,但目前还没有。