2013-09-24 20 views
5

Sto utilizzando zbar nella mia applicazione. Se voglio farlo funzionare sul mio iPhone 5s con un processore a 64 bit, ottengo i seguenti errori:Esegui libreria a 32 bit su iPhone 5s 64 bit

Trying to run on my iPhone 5s

E 'possibile utilizzare la libreria a 32 bit su un dispositivo a 64 bit, perché I don' Penso che la biblioteca sarà aggiornata.

+1

Basta rimuovere la build a 64 bit dalla tua app, per fare ciò vai alle impostazioni di generazione dei tuoi obiettivi. Qui in Architectures rimuovi 'arm64' – rckoenes

+1

Hai trovato una soluzione per questo? Ho lo stesso problema, ma ho bisogno di creare un binario a 64 bit, quindi non posso usare la soluzione di @ rckoenes – Chris

+0

Ho lo stesso problema qui! – Daniel

risposta

5

Per riassumere i commenti sopra. Un'applicazione per iPhone a 64 bit richiede che tutte le librerie e i framework costituenti siano a 64 bit. Non puoi mescolare e abbinare. Lasciare un'applicazione a 32 bit non è ottimale a lungo termine poiché iOS deve mantenere due versioni delle librerie di sistema caricate (32 e 64) non appena viene eseguita una singola app a 32 bit. Quindi, non vuoi essere l'ultima app per supportare 64bit!

È possibile verificare se la libreria contiene codice a 64 bit tramite lipo. Ad esempio, ecco il quadro SBJson in 32bit:

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv6 armv7 i386 

e con il codice a 64 bit

$ lipo -info SBJson.framework/SBJson 
Architectures in the fat file: SBJson.framework/SBJson are: armv7 armv7s i386 x86_64 arm64 

Nel caso di zbar, se non è disponibile si può sempre provare a compilare da soli dai sorgenti.

Problemi correlati