Come collegare diverse librerie precompilate per i diversi profili di configurazione in XCode per iPhone?

StackOverflow https://stackoverflow.com/questions/1736800

  •  20-09-2019
  •  | 
  •  

Domanda

Il mio cliente sta fornendo me con due librerie precompilati, bla-bla-device.a e simulator.a. Come faccio a dire di usare Xcode bla-device.a in modalità di compilazione del dispositivo e il simulatore in modalità di compilazione Simulator?

Il mio cliente mi dà queste istruzioni

  
      
  1. Aprire il gruppo Targets (nel pannello Gruppi & Files), fare clic con il   progetto icona, quindi selezionare Aggiungi>   Strutture esistenti.
  2.   
  3. Nella sezione librerie collegate, fare clic sull'icona Librerie sull'icona Aggiungi (+),   quindi fare clic su Aggiungi altro.
  4.   
  5. Selezionare bla-device.a (per lo sviluppo direttamente su iPhone   dispositivo) o bla-simulator.a (per   lo sviluppo su iPhone Simulator),   quindi fare clic su Aggiungi.
  6.   

Ho già copiato il file di intestazione in là, tuttavia queste istruzioni non fanno costruire facile con profili diversi.

Come faccio ad avere Xcode di collegare bla-device.a quando si costruisce con i profili dispositivo e bla-simulator.a quando si costruisce con i profili SIMULATORE?

Ogni aiuto è molto apprezzato.

È stato utile?

Soluzione

C'è un modo più semplice per farlo. È possibile duplicare la "Biblioteca dei percorsi di ricerca" sotto lo stesso obiettivo e impostare una diversa architettura per ciascuno di essi. È quindi possibile impostare un percorso diverso per simulatore e dispositivi.

Altri suggerimenti

Per riferimento futuro, un buon modo per gestire situazioni come questa è quello di glob le diverse architettura .a di in uno solo che è possibile includere in XCode. Si può fare questo con il lipo strumento a riga di comando:

lipo libx.a liby.a -create -output libz.a

Se libx.a è ARMv6 e ARMv7 e liby.a è i386 per esempio, la libreria risultante, libz.a, sarà ARMv6, ARMv7 e i386.

È anche possibile consultare il fascicolo .a tramite lipo -info.

Spero che questo aiuti. :)

È possibile utilizzare diversi del percorso di collegamento per diverse librerie del percorso che collega

Il modo più semplice sarebbe quella di creare due obiettivi separati duplicando il vostro uno esistente. Nome uno "Device Foo" e l'altro "Foo Simulator". Quindi fare clic destro sul bla-device.a in XCode, selezionare la scheda Target e assicurarsi che il bersaglio "Foo Device" sia selezionata e l'obiettivo "Foo Simulator" è selezionata OFF.

Ripetere l'operazione per Balah-simulator.a ma questa volta "Pippo Device" target è OFF e "Foo Simulator" target è selezionata ON.

Ora ogni volta che si vuole fare una build simulatore assicuratevi di selezionare il simulatore dal popup SDK attivo e il "Pippo Simulator" dalla comparsa di destinazione. Per testare dispositivo Seleziona dispositivo e la porta "Foo Device".

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top