2010-10-26 13 views
8

Ho una domanda più generale su come lavorare con le librerie con Xcode quando si creano app per iPhone. Ho creato una struttura da un progetto a cui ho lavorato per usarne alcune parti in altre app. Funziona abbastanza bene, finora. Ma non ho idea di come eseguire il debug nei file inclusi nel framework incluso.Debug di una libreria con Xcode

Spero di ottenere una sorta di "best practice" su questo.

Grazie mille
-f

risposta

4

In generale, sarò includono il progetto Xcode per la libreria come un progetto di dipendenza esterna del progetto del principale dell'applicazione. Il vantaggio delle dipendenze del progetto è che è possibile aggiungere una fase di compilazione che costruisca una nuova copia della libreria insieme al progetto principale e, naturalmente, consentirà di impostare i breakpoint nel codice della libreria.

6

Ci sono state molte discussioni sul modo migliore di riutilizzare il codice con le librerie statiche. Ho optato per il metodo descritto here di Clint Harris (che ritengo sia quello che suggerisce Shawn). La creazione di una dipendenza del progetto in questo modo compila automaticamente la libreria per il target del progetto (simulatore/dispositivo, debug/release) in modo che non siano necessarie quattro diverse copie della libreria compilata. Ti consente anche di accedere alla sorgente della libreria durante il debug, come desideri. Infine, gli aggiornamenti alla libreria sono inclusi in tutti i progetti collegati la prossima volta che questi progetti vengono compilati (quindi non è necessario ricompilare e ridistribuire il binario della libreria a quei progetti).

+0

Hey Tim! Grazie per questo suggerimento. Questa integrazione funziona alla grande. Ma non riesco ancora a eseguire il debug della mia libreria usando i breakpoint. C'è qualche tipo di passaggio aggiuntivo che devo fare? – flohei

+0

Ho appena giocato con questo e ho trovato il seguente: Per impostazione predefinita, quando si imposta un punto di interruzione nel mio progetto di libreria non si interrompe in realtà in tutti i progetti collegati, come si osserva. Tuttavia, faccio clic con il pulsante destro del mouse sul punto di interruzione, seleziona "Modifica punto di interruzione" e nella finestra Punti di interruzione trascino il nuovo punto di interruzione sul nome del mio progetto collegato nella sezione "Gruppi e file". Oppure puoi trascinarlo su "Global Breakpoints", ma poi si romperà in qualsiasi progetto collegato. Una volta modificata questa impostazione, il punto di interruzione funziona nel progetto collegato. Per te funziona? –

+0

Funziona ma c'è stato un trucco: se entrambi i progetti sono aperti, il sottoprogetto non verrà visualizzato come progetto completo nel progetto principale. Quindi chiudere il sottoprogetto prima di aggiungerlo. (XCode lamenta che causerebbe un problema di integrità dei dati di avere lo stesso progetto aperto in due punti.) – nont

Problemi correlati