2015-07-16 39 views
6

sto cercando di compilare il tutorial ANE Adobe (GitHub repo here, Tutorial here) per armv7 e arm64 architetture per portarlo fino ad oggi.non può compilare a 64-bit ANE AIR con ADT

ADT sta venendo a mancare, con Apple App Store allows only universal applications. "libIOSVolumeLib.a" is not a universal binary. Please change build settings in Xcode project to "Standard Architecture" to create universal library/framework

Tuttavia, lipo -info ios/libIOSVolumeLib.a rapporti: ios/libIOSVolumeLib.a are: i386 x86_64 che io penso significa che il file è OK.

miei XCode impostazioni del progetto mostrano chiaramente:

  • architetture utilizzano Standard Architectures (armv7 arm64)
  • "Costruire l'architettura attivo solo" è impostato su NO
  • "Architetture validi" sono armv7 armv7s arm64
  • La mia configurazione di generazione è impostato su "release"

Tutto costruisce OK. Il file libIOSVolumeLib.a viene copiato nella struttura di cartelle appropriata a cui fa riferimento il comando di creazione ADT.

comando sto usando l'ADT build è: adt -package -target ane Volume.ane extension.xml -swc VolumeLib.swc -platform iPhone-ARM -C ios . -platformoptions platformoptions.xml -platform Android-ARM -C android . -platform default -C default .

L'ADT che sto utilizzando è nella cartella bin della ultima versione di Adobe AIR SDK (v.18 AIR) che ho appena scaricato oggi. Non so se questo è l'SDK che viene utilizzato, ma suppongo che lo sia, dal momento che ADT si trova in una sottodirectory di questa cartella SDK.

Come posso risolvere questo errore?

+1

Non ho alcuna esperienza con XCode ma il problema qui sembra un disallineamento tra l'architettura libIOSVolumeLib è costruita per (Intel x86 arch) e l'architettura di cui hai bisogno (arm arch). L'output dovrebbe essere qualcosa di simile a 'ios/libIOSVolumeLib.a sono: arm7 arm64' – nitzanms

risposta

1

La soluzione è stata risolta e la risposta sembra essere che stavo controllando il set errato di file di build. Assicurati di creare un "dispositivo iOS" e NON il dispositivo specifico che ti è capitato di collegare alla porta USB.

Questo è ciò che ha risolto il problema per me - spostando il file .a creato nella cartella di compilazione appropriata dell'ANE e eseguendo lipo -info su quel file visualizzate le architetture previste.