iPhone - 如何修改静态库(.a文件)

时间:2012-03-20 14:04:05

标签: iphone static-libraries

我得到了一个我必须在项目中使用的静态库(.a扩展文件),但是在我对它有用之前我需要修改一些源代码。实现这一目标的最佳方法是什么?

4 个答案:

答案 0 :(得分:3)

简单但最不适用的解决方案是子类化或扩展。

如果许可证授权,您也可以尝试反编译.a文件:cf。 Decompiling Objective-C libraries,但它可能很棘手和/或非法。

答案 1 :(得分:0)

您无法修改静态库,最好的办法是尝试访问源代码或要求作者为您修改它。

答案 2 :(得分:0)

您可以使用Objective C扩展。

例如,.a lib中有一个[MyClass myMethod],您想要更改这个,可能会使用以下代码:

#import "MyClass.h"
@interface MyClass( CategoryName )
-(void)myMethod;
@end

@implementation MyClass( CategoryName )
-(void)myMethod
{
    //new implementation goes here
}
@end

答案 3 :(得分:0)

您无法修改库,只能扩展。这就是重点 - 在您的代码背后分发功能而无需人们阅读它。