iPhone-如何修改静态库(.a文件)
我得到了一个静态库(.a扩展名文件),我必须在项目中使用它,但是在它对我有用之前,我需要修改一些源代码。实现这一点的最佳方法是什么?您不能修改静态库,最好是尝试访问源代码或让作者为您修改它。您不能修改静态库,您最好尝试访问源代码或让作者为您修改源代码。您可以使用Objective C扩展名 例如,在.a库中有一个iPhone-如何修改静态库(.a文件),iphone,static-libraries,Iphone,Static Libraries,我得到了一个静态库(.a扩展名文件),我必须在项目中使用它,但是在它对我有用之前,我需要修改一些源代码。实现这一点的最佳方法是什么?您不能修改静态库,最好是尝试访问源代码或让作者为您修改它。您不能修改静态库,您最好尝试访问源代码或让作者为您修改源代码。您可以使用Objective C扩展名 例如,在.a库中有一个[MyClass myMethod],如果要更改此库,可以使用以下代码: #import "MyClass.h" @interface MyClass( CategoryName ) -
[MyClass myMethod]
,如果要更改此库,可以使用以下代码:
#import "MyClass.h"
@interface MyClass( CategoryName )
-(void)myMethod;
@end
@implementation MyClass( CategoryName )
-(void)myMethod
{
//new implementation goes here
}
@end
您可以使用Objective C扩展 例如,在.a库中有一个
[MyClass myMethod]
,如果要更改此库,可以使用以下代码:
#import "MyClass.h"
@interface MyClass( CategoryName )
-(void)myMethod;
@end
@implementation MyClass( CategoryName )
-(void)myMethod
{
//new implementation goes here
}
@end
不能修改库,只能扩展。这是一个要点——在人们无法阅读的情况下分发代码背后的功能。您不能修改库,只能扩展。这是一个要点——在人们看不懂的情况下,在代码背后分发功能。简单但大多数情况下不适用的解决方案是子类化或扩展
如果.a文件的许可证授权,您也可以尝试对其进行反编译:cf.,但这可能很棘手和/或非法。简单但大多数情况下不适用的解决方案是子类化或扩展
如果.a文件的许可证授权,您也可以尝试对其进行反编译:cf.,但这可能很棘手和/或非法。什么是CategoryName?这个答案完全错误。使用类别的滑动有未定义的行为。什么是CategoryName?这个答案完全错误。使用类别滑动具有未定义的行为。