Ho framework personalizzati nel mio pacchetto di app per WebKit, WebCore e JavaScriptCore. Vorrei che tutti gli altri framework che dipendono dalle versioni di sistema di WebKit, WebCore o JavaScriptCore utilizzino anche le mie versioni personalizzate. Ad esempio, la mia versione personalizzata di Webkit carica framework di sistemi privati che a loro volta dipendono dalla versione di sistema di WebKit. Ciò significa che sia il mio WebKit che il sistema WebKit vengono caricati, e in genere un incidente si verifica poco dopo.Qual è il modo più pulito per impostare la variabile ambientale DYLD_FRAMEWORK_PATH per una build di rilascio?
Il modo in cui io capisco questo dovrebbe essere fatto, è impostare la variabile ambientale DYLD_FRAMEWORK_PATH prima che il pacchetto di app inizi l'esecuzione (l'ordine di ricerca per il caricamento di framework può essere trovato qui: http://code.google.com/p/macdependency/wiki/SearchPaths). È possibile impostare variabili ambientali nel codice con setenv, ma non avrà effetto per il processo attualmente in esecuzione. Dovrei rilanciare nuovamente il processo perché abbia effetto. Vorrei evitare anche questo.
Quindi la mia domanda è qual è il modo migliore per impostare DYLD_FRAMEWORK_PATH prima dell'esecuzione del pacchetto della mia app? Questo deve funzionare anche in un pacchetto di app di rilascio. C'è un modo per eseguire uno script ogni volta che qualcuno fa clic sul mio pacchetto di app prima dell'esecuzione dell'eseguibile. O ci sono altri suggerimenti là fuori?
Grazie in anticipo.
Cosa intendi per "tutti gli altri framework"? Se sono solo i tuoi framework privati, non puoi semplicemente costruirli collegandoti al tuo WebKit privato e ai relativi framework? –
Bene da qualche parte nella montagna di codice che è il mio Webkit personalizzato, DataDectors.framework viene caricato se si fa clic con il tasto destro su una finestra (Solo su OSX Lion) e DataDectors è un framework di sistema privato (non creato da me). In questo caso, DataDectors dipende dalle versioni di sistema di WebKit e JavaScriptCore, quindi una volta che questo accade ci sono ora 2 copie di WebKit caricate, la mia e i sistemi. Ciò causa risultati imprevisti e un arresto anomalo. –
Hai mai riuscito a farlo funzionare? Sto cercando di fare qualcosa di simile, e non ho molta fortuna con nessuno degli approcci suggeriti. – starkos