我需要为我正在处理的项目创建一个框架(需要一个静态库)。我使用this tutorial来创建框架,然后将静态库复制到项目中并且它可以工作。
但是,当我将框架拖到iOS项目时,它显示出大量错误。
`Undefined symbols for architecture i386:"_OBJC_CLASS_$_SomeClassFromTheStaticLibrary",referenced from:_OBJC_CLASS_$_AnotherClass in MyFramework`
我认为发生的事情是iOS项目想要重新编译框架而不能,因为它找不到静态库。 如果我将静态库添加到iOS项目,所有错误都会消失。这是我想要避免的。
基本上我想拥有iOS项目 - >框架 - >库而不是在项目和框架中都有库。
我尝试在框架中添加静态库作为资源,但它不起作用。
答案 0 :(得分:0)
我怀疑这是可能的。当你想到发生了什么时,你会看到问题所在。
如果只有框架使用静态库(逻辑),我确实可以使用它,但是我找不到在框架中共享代码的方法。该应用程序。
答案 1 :(得分:0)
如果隐藏了某个符号(通过默认隐藏的符号/ GCC_SYMBOLS_PRIVATE_EXTERN
设置为YES
或__attribute__ ((visibility ("hidden")))
应用于某些符号),则该符号在静态时可用链接库,但不是动态链接框架。
确保不会隐藏静态库的符号,您应该可以从应用中访问它们。
答案 2 :(得分:-2)