Ho una struttura dinamica che si collega a Google Maps (che è, per quanto vedo, ancora una specie di libreria statica, se non esattamente, solo con un framework involucro).Libreria statica di collegamento all'interno di una struttura dinamica (Cocoa Touch)
Il problema è che il framework si collega alla libreria statica e sembra anche includere direttamente il suo codice, in quanto non è necessario collegare o incorporare Google Maps nell'app che utilizza il framework e tutto funziona correttamente. Tranne se lavoro con Google Maps anche all'interno dell'app.
O io ottengo "simboli non definiti per l'architettura XY" durante la fase di compilazione, o collego Google Maps contro di esso e poi ho un muro di avvertenze nel debug-console durante app-lancio, come:
Classe GMSPolyline2D è implementato sia in /.../Build/Products/Debug-iphonesimulator/MyFramework.framework/MyFramework e /..../Bundle/Application/7C73324B-4A42-4063-98AA-879345997DE6/MyApp .app/MyApp. verrà utilizzato uno dei due. Quale è indefinito.
C'è un modo per collegarsi solo a Google Maps nel framework, ma NON includere anche i simboli nel framework-product? Funziona per i framework dinamici, ma le librerie statiche sembrano essere solo incluse. Ho già provato il collegamento debole con -weak_framework
e -weak_library
, ma non sembra funzionare.
In realtà, non sono riuscito a trovare Xcode per trovare il binario GoogleMaps per -weak_library
nella sua dir framework, anche con il collegamento diretto all'interno della cartella .framework come percorso di ricerca della libreria.
Dato che sono l'unico utente del mio framework, posso applicare che ogni app che utilizza il framework DOES include il framework di Google Maps. Finora l'app funziona bene tranne gli avvertimenti (e finora non importa quale delle due classi è utilizzata in fase di esecuzione, poiché entrambi dovrebbero essere gli stessi). Tuttavia, vorrei dormire meglio se ci fosse una soluzione più bello :)
Edit: ho potuto ottenere -weak_library al lavoro semplicemente consegnando il percorso assoluto direttamente nella sezione linker-bandiera invece di utilizzare la libreria Percorso di ricerca impostazione. Tuttavia, il problema rimane, ovviamente è ancora incluso nel framework.
Trovato un problema simile, con una specie di soluzione, ma sembra essere più di una soluzione mi prenderà in considerazione, ma se qualcuno ha un'idea più pulita, io. lo apprezzerei. http://stackoverflow.com/a/29603185/5460596 –
Hai trovato una soluzione per questo? –
Hai trovato una soluzione per questo? – Cosmin