我得到了一个我必须在项目中使用的静态库(.a扩展文件),但是在我对它有用之前我需要修改一些源代码。实现这一目标的最佳方法是什么?
答案 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)
您无法修改库,只能扩展。这就是重点 - 在您的代码背后分发功能而无需人们阅读它。