2012-09-22 15 views
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?

+1

Ya en la prehistoria antes bibliotecas compartidas, estoy bastante seguro de que usamos 'nm -og' en .a archivos. –

Respuesta

7

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: 
    [...] 
Cuestiones relacionadas