Objective c 用于iOS的带SBJson的静态库

Objective c 用于iOS的带SBJson的静态库,objective-c,ios,xcode,static-libraries,sbjson,Objective C,Ios,Xcode,Static Libraries,Sbjson,我正在开发一个静态库,在这里我需要使用开源SBJson类 在分发我的静态库时,将SBJson类包含到我的库中而不需要包含其所有头文件(.h)的最佳方法是什么???如果创建静态库,任何使用该静态库的应用程序都需要知道该库可用的所有公共方法 如果SBJson是库的内部部分,那么在分发应用程序时不必包含它的头文件。您只需要包含面向公共方法的.h文件 编译静态库时,不要在复制文件阶段包含SBJson的头文件。最好的方法是不要(尝试)隐藏依赖项,然后告诉客户端他们需要构建并链接到SBJson库 安全的替代

我正在开发一个静态库,在这里我需要使用开源SBJson类


在分发我的静态库时,将SBJson类包含到我的库中而不需要包含其所有头文件(.h)的最佳方法是什么???

如果创建静态库,任何使用该静态库的应用程序都需要知道该库可用的所有公共方法

如果SBJson是库的内部部分,那么在分发应用程序时不必包含它的头文件。您只需要包含面向公共方法的.h文件

编译静态库时,不要在复制文件阶段包含SBJson的头文件。

最好的方法是不要(尝试)隐藏依赖项,然后告诉客户端他们需要构建并链接到SBJson库


安全的替代方案是SBJson的分支,所有符号都重新声明为不同的名称(例如,唯一前缀)。这将确保您的客户机在将您的库与其依赖项链接时不会遇到任何麻烦。

您的库的客户机是否直接需要SBJSON功能?如果是这样,您需要为它提供标题。如果不是的话,你不应该这么做。这就是我想做的。这也将防止与另一个也可能使用相同库的静态库发生冲突。有没有一种方法可以通过编程进行前缀设置,而无需手动进入并为所有符号添加前缀?@liyanchange不安全(如果客户端也使用库,请考虑链接和/或运行时冲突)。如果您在Xcode中使用重构工具,它应该运行得相当快。