7
Me dieron una .a biblioteca con muy poca documentación. ¿Hay alguna forma de inspeccionar los tipos, métodos y propiedades públicos?¿Cómo inspeccionar una biblioteca?
Me dieron una .a biblioteca con muy poca documentación. ¿Hay alguna forma de inspeccionar los tipos, métodos y propiedades públicos?¿Cómo inspeccionar una biblioteca?
Hay varias opciones, la que prefiero es la de otool;
Desde su página de manual para las posibles opciones:
-o mostrar el contenido del segmento __OBJC utilizado por el sistema de tiempo de ejecución de Objective-C.
Ejemplo:
otool -o libRaptureXML_universal.a
[...]
contents of (__DATA,__objc_classlist) section
00006fe0 0x65d4
isa 0x65e8
superclass 0x0
cache 0x0
vtable 0x0
data 0x6fb8 (struct class_ro_t *)
flags 0x0
instanceStart 4
instanceSize 12
ivarLayout 0x0
name 0x6b84 RXMLElement
baseMethods 0x6e08 (struct method_list_t *)
entsize 12
count 27
name 0x66bb initFromXMLString:encoding:
types 0x6b90 @[email protected]:[email protected]
imp 0x1
name 0x66e3 initFromXMLFile:
types 0x6b9d @[email protected]:[email protected]
imp 0xd5
name 0x66f4 initFromXMLFile:fileExtension:
types 0x6ba7 @[email protected]:[email protected]@12
imp 0x209
name 0x6713 initFromURL:
types 0x6b9d @[email protected]:[email protected]
imp 0x335
name 0x6720 initFromXMLData:
types 0x6b9d @[email protected]:[email protected]
imp 0x411
name 0x6731 initFromXMLNode:
[...]
Ya en la prehistoria antes bibliotecas compartidas, estoy bastante seguro de que usamos 'nm -og' en .a archivos. –