La macro __FILE__
si espande nel percorso completo del file corrente. Questo è un probabile modo in cui potresti ottenere i percorsi nel tuo eseguibile. Ad esempio, l'espansione della macro assert
include la macro __FILE__
.
Controllare l'output della pipeline strings | grep
. Per ognuno di questi file, vai nel tuo progetto in Xcode e apri quel file. Poi vai al doodad file correlati e scegliere “pre-elaborazione”:
quindi cercare attraverso l'uscita preprocessore per il percorso del file. Troverai molti falsi positivi, perché ci saranno un sacco di #
numero di riga/direttive di percorso. Puoi ignorarli, perché producono solo l'output di debug, che non è incluso nel tuo file eseguibile (a meno che tu non abbia fatto qualcosa di strano con le impostazioni di compilazione). Potrebbe essere più rapido salvare l'output del preprocessore in un file, quindi aprire il file e collegarlo tramite grep
oppure utilizzare una ricerca/sostituzione regolare per eliminare tutte le righe che iniziano con #
.
Trova le altre istanze in cui il percorso viene visualizzato come costante di stringa. Ad esempio, se si è utilizzato la macro assert
, troverete qualcosa di simile:
(__builtin_expect(!(argc > 0), 0) ? __assert_rtn(__func__, "/Volumes/b/Users/mayoff/TestProjects/textViewChanged/textViewChanged/main.m", 16, "argc > 0") : (void)0);
Questo è un caso in cui il percorso finirà incorporato nel vostro eseguibile.
Se non trovi tutti i luoghi in cui stai incorporando il tuo percorso, prova a selezionare "Assemblaggio" dal file Doodad File correlati. L'assemblea sarà piena di commenti contenenti il tuo percorso; tutto dopo @
è un commento nell'output dell'assieme, quindi ignorale.
Vedrete anche i vostri percorsi nelle direttive .file
. Credo che questi producano solo output di simboli di debug, che non vanno nel tuo eseguibile, quindi puoi ignorarli anche tu.
Vedrete i vostri percorsi nelle direttive .asciz
subito dopo le direttive .section DWARF,...
. Questo è più materiale di debug che puoi ignorare.
Cercare i casi rimanenti in cui il percorso viene visualizzato nell'output dell'assieme. Devi capire come eliminare questi casi.Il modo in cui lo fai dipenderà dal contesto in cui appaiono i percorsi, quindi se hai bisogno di più aiuto, aggiorna la domanda con ciò che trovi.
Stai costruendo in modalità "debug"? In tal caso, il file binario contiene i simboli di debug, che potrebbero contenere informazioni sul percorso. (Sto solo supponendo che, comunque.) – bdesham
Ho usato l'archivio che è stato inviato ad Apple. – bbarnhart
Non penso che ciò significhi necessariamente che non sei ancora in modalità di debug. Vai a Prodotto> Schema e assicurati di avere uno schema "Rilascio" o "Distribuzione" selezionato. – bdesham