2009-08-28 7 views
13

Sto lavorando con un progetto esistente che produce una libreria dinamica (Cocoa API).Come si modifica un target Xcode esistente da dinamico a statico?

preferirei generare una libreria statica, ma se cambio il [Collegamento | Tipo Mach-O] campo dalla "Libreria dinamica" a "Static Library", sia il progetto Clean e costruire Progetto lamentano che il Il numero ha un valore non valido MACH_O_TYPE di "staticlib".

C'è un modo semplice per ottenere la generazione per produrre un file .a statico?

Grazie,
Eric

risposta

4

ho finito per creare un nuovo progetto 'libreria statica', e poi ha aggiunto tutti i membri . Chiudendo xcode e richiamando i due file di progetto in , un editor di testo mi consente di completare rapidamente il nuovo progetto.

+2

Purtroppo questa è la soluzione corretta. Al momento non esiste un modo per convertire un target da un tipo di target a un altro. – cdespinosa

20

apre il file diproject.pbxproj in cartella YourProjectName.xcodeproj utilizzando TextEdit, cercare di prodotto e cambiare il suo valore da "com.apple.product-dinamica" a "com.apple .product-static "

+9

nel mio caso è ** com.apple.product-type.library.dynamic ** da modificare in ** com.apple.product-type.library.static **. Forse è una versione xcode diversa, suggerisco di creare un nuovo progetto statico lib e copiare productType da lì – pqnet

+0

Per Xcode 9: la libreria statica è 'com.apple.product-type.library.static', la libreria dinamica è' com.apple .product-type.library.dynamic', framework è 'com.apple.product-type.framework', il bundle generico è' com.apple.product-type.bundle', unit testing bundle è 'com.apple.product- type.bundle.unit-test', l'applicazione è 'com.apple.product-type.application', e lo strumento da riga di comando è' com.apple.product-type.tool'. Ce ne sono molti altri, ma questi sono di gran lunga i più comuni – ThatsJustCheesy

Problemi correlati