iPhone - Как изменить статическую библиотеку (файл .a) - PullRequest
0 голосов
/ 20 марта 2012

Мне дали статическую библиотеку (файл расширения .a), которую я должен использовать в проекте, однако мне нужно изменить часть исходного кода, прежде чем он будет полезен для меня. Каков наилучший способ сделать это?

Ответы [ 4 ]

3 голосов
/ 20 марта 2012

Простые, но самые неприменимые решения - это создание подклассов или расширение.

Вы также можете попытаться декомпилировать файл .a, если его лицензия разрешает это: ср. Декомпиляция библиотек Objective-C , но это может быть сложно и / или незаконно.

0 голосов
/ 20 марта 2012

Вы можете использовать расширение 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
0 голосов
/ 20 марта 2012

Вы не можете изменять библиотеку, только расширять.Это своего рода точка зрения - распространять функциональность вашего кода, чтобы люди не могли его прочитать.

0 голосов
/ 20 марта 2012

Вы не можете изменять статическую библиотеку, лучше всего попытаться получить доступ к источникам или попросить автора изменить ее для вас.

...