Domanda

Ho due progetti, un'applicazione Cocoa per iPhone e una libreria statica che utilizza.

L'ho testato con successo sul simulatore di iPhone, ma quando provo a distribuirlo sul mio dispositivo iPhone ottengo errori di collegamento (simbolo non trovato).

Se rimuovo la dipendenza della libreria il progetto viene compilato / eseguito correttamente.

Mi sono assicurato che tutte le impostazioni di compilazione siano impostate su iPhoneOS e non sul simulatore.

Sono sicuro che sia qualcosa di semplice, ma qualcuno ha riscontrato problemi simili passando dal simulatore iPhone al dispositivo?

--EDIT: sono riuscito a creare nuovi progetti (uno per l'applicazione e uno per la libreria statica) e farli funzionare correttamente su iPhone o simulatore. Ma ho un problema molto strano ... per ogni progetto specifico non riesco a farlo funzionare SIA per il dispositivo che per il simulatore ... Ho ricontrollato le impostazioni della build, assicurandomi che le librerie che fanno riferimento siano per la build corrispondente impostazioni (credo) ma non riesco a risolvere questi errori di collegamento.

Penso che dovrei fare qualcosa di molto sbagliato ... tutta la documentazione di Apple dice "è super semplice - un clic" ma questo mi sta dando molti problemi.

Probabilmente questo ha a che fare con le impostazioni di build di xCode, ma non riesco a capire perché la selezione delle diverse piattaforme di build e la ricostruzione delle librerie non funzionino.

È stato utile?

Soluzione

Scopri la mia risposta a una domanda simile per un collegamento a un articolo che potrebbe essere d'aiuto. Esiste un link ad un articolo interessante.

Altri suggerimenti

Alla fine ho capito quale fosse il problema.

Ho cambiato la destinazione del mio dispositivo dal simulatore al dispositivo iPhone, quindi ho rimosso la vecchia libreria statica (simulatore) e ho collegato la nuova libreria (dispositivo).

Tutto bene, tranne il percorso di ricerca della libreria (nelle configurazioni di compilazione) aveva ancora la directory del simulatore elencata per prima, che presumo causi che venga trovata e utilizzata anziché il dispositivo.

Questo spiega anche perché sono stato in grado di far funzionare ogni impostazione con un nuovo progetto, ma ho avuto solo problemi a cambiare tra le impostazioni.

È un problema semplice e stupido, ma che mi ha causato dolore e tempo. Non sono ancora sicuro di come impostare correttamente le impostazioni di build dipendenti dal target, ma almeno se qualcuno sta riscontrando problemi simili è qualcosa da cercare.

Ho creato un tutorial completo su come creare e utilizzare librerie statiche, questo tutorial copre il metodo che è anche consigliato da Apple, forse la gente lo troverà utile:

http://www.sodeso.nl/?p=822

I vantaggi di questo metodo sono la ricompilazione automatica della libreria in base alle impostazioni del progetto (quindi nessun problema con le build del dispositivo / simulatore)

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