2012-09-22 10 views
7

Mi è stata data una libreria .a con una documentazione molto scarsa. C'è un modo per ispezionare tipi pubblici, metodi e proprietà?Come ispezionare una libreria?

+1

indietro nella preistoria librerie condivise, prima, sono abbastanza sicuro che abbiamo usato 'nm -og' su .a file. –

risposta

7

Ci sono diverse opzioni - quella che preferisco è otool;

Dalla sua pagina man per le possibili opzioni:

-o visualizzare i contenuti del segmento __OBJC utilizzato dal sistema runtime Objective-C.

Esempio:

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: 
    [...] 
Problemi correlati