2015-05-26 14 views

risposta

15

È possibile utilizzare otool per ispezionare il file della libreria. Con alcune sperimentazioni ho scoperto che le bandiere -lv mi hanno dato un risultato utile. Aprire una finestra di terminale e passare alla directory la libreria è in:

cd /path/to/parent/directory 

(Suggerimento: è possibile trascinare l'icona dalla barra del titolo di una finestra del Finder nel terminale e sarà inserire il percorso per voi) . Quindi digitare il seguente comando:

otool -lv myStaticLibrary.a | less 

In less, tipo / (ricerca) e quindi LC_VERSION_MIN_IPHONEOS. Si dovrebbe vedere qualcosa di simile:

Load command 1 
     cmd LC_VERSION_MIN_IPHONEOS 
    cmdsize 16 
    version 7.0 
     sdk n/a 

La destinazione di distribuzione dovrebbe essere il valore accanto a version.

+0

Il file .a (Universal) realizzato nell'ultima versione funzionerà in target di distribuzione del progetto (ad esempio 9.3 funzionerà su 8.0)? –

-2

Hai provato a usare le macro pre-elaborazione?

#if IPHONEOS_DEPLOYMENT_TARGET (iOS Deployment Target) 
+0

Si tratta di una supposizione, una risposta, o inteso come un commento? Non importa cosa sia, non risponde alla domanda. – nhgrif

+1

È un tentativo di aiutare, mio ​​amico =) E "non importa di cosa si tratta" Non vedo una ragione per cui tu sia così scontroso. Se non aiuta, beh, almeno ci ho provato. – EdgarY

5

La versione del SO di destinazione è codificata nel comando di caricamento LC_VERSION_MIN_IPHONEOS nell'intestazione MachO della libreria statica. Si può vedere tramite: uscita

otool -l mylib.a | grep -A 3 LC_VERSION 

Esempio:

 cmd LC_VERSION_MIN_IPHONEOS 
    cmdsize 16 
    version 9.0 
     sdk n/a 
Problemi correlati