Includo una libreria di terze parti (origini) con la mia libreria statica. È inteso solo per il dispositivo (poiché include alcune routine di assemblaggio ARM) e non desidero crearlo per il simulatore (voglio solo che la mia app si compili in modo da poter testare la GUI).Compilare file diversi per dispositivo/simulatore in XCode
- La creazione di un altro target per il simulatore non è un'opzione in quanto i miei progetti fanno riferimento alla mia libreria come dipendenza e sarebbe un incubo da mantenere.
- L'aggiunta di #if (TARGET_OS_IPHONE) per quei file non è un'opzione, poiché queste non sono le mie fonti originali e mi piacerebbe aggiornarle facilmente per gli aggiornamenti (ci sono più di 200 file e non li ho modificati tutti loro)
sto cercando un modo (simile a #if (TARGET_OS_IPHONE) in file di origine) che funzionerà dall'IDE stesso (così posso escludere un file dal processo di costruzione attuale sulla base di la mia architettura di destinazione). L'unica cosa che ho trovato è un'opzione per escludere/includere un file da una destinazione, ma non per un'architettura specifica.
C'è un modo per impostare le condizioni dell'architettura per file specifici?
Quale lingua ha l'interfaccia della libreria, Obj-C, C++ o semplice C? E quanti metodi contiene l'interfaccia? – Kay
In realtà ho diverse librerie, la maggior parte in C++ e poche in Obj-C. Non sono tutti necessari per il simulatore (tutti riguardano l'elaborazione audio/video), ma desidero almeno che il progetto si sviluppi correttamente sul simulatore poiché è più veloce testare l'interfaccia utente lì. –
Sembra che non ci sia una soluzione facile. Se possibile, prova a separare tutte le chiamate alla libreria in una o più facciate create da fabbriche astratte a seconda della destinazione. Quindi usa gli oggetti mock per il codice x86 – Kay