暴露iOS静态库中的方法

时间:2014-03-03 11:11:23

标签: ios iphone objective-c ipad

我想只将静态库中的选定方法暴露给外面的类。 有办法吗?

2 个答案:

答案 0 :(得分:1)

这与Objective-C的工作方式不可能实现。您可以做的最好的方法是不通过在内部标题(在类继续或类别中)声明它们而不是发布给库用户来发布这些方法。使用classdump之类的工具或运行时API,仍然可以找到并调用这些方法。

答案 1 :(得分:1)

这是关于这样做的方法:

  1. 将您想要私有的方法放在一个单独的类别中。例如。 MyClass的+ PrivateMethods

  2. 确保这些MyClass + PrivateMethods.h文件未包含在复制标头构建阶段的公共部分中,因此使用静态库的用户无法看到它们。 (确保您了解复制标题的三个不同选项 - 公共,私有和项目)。

  3. #include这些MyClass + PrivateMethods.h文件,您需要在静态库的实现文件(.m)中使用它们。

  4. 利润。