从静态库调用非导出方法

时间:2015-02-26 19:18:48

标签: objective-c c static-libraries reverse-engineering

我在Objective-C项目中使用由其他人构建的静态库。我想要调用库中的C方法,但不会导出它。如何从Objective-C代码调用此方法?

1 个答案:

答案 0 :(得分:1)

首先:你为什么需要那个?显然,如果方法直接执行,该框架的作者没有看到任何需要,事情可能会中断。

但是:使用该方法在接收器上写一个类别,然后就可以了。 Objective-C动态绑定,因此可行。

@interface FrameworkClass(InternalMethodAddition)
- (void)internalMethod;
@end
// Do not implement this category.
…
FrameworkClass *object = …
[object internalMethod];