2015-09-17 21 views
7

Sto sviluppando un'app mobile con Ionic Framework e ho appena ricevuto un errore molto strano che ha infranto la mia intera build.Errore dopo l'aggiornamento a Xcode 7

'myapp/Plugins/com.phonegap.plugins.facebookconnect/FacebookSDK.framework/FacebookSDK(FBLikeButtonBackgroundSelectedPNG.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Che succede dopo. Ha funzionato perfettamente prima di passare alla nuova versione di Xcode 7.0. Ho provato a disabilitare BITCODE per il progetto ma la funzionalità di Facebook dell'APP non funziona come previsto.

EDIT

Se rendo invalido codice binario che per il progetto il plugin di Facebook si apre il browser al posto delle app, pertanto La disattivazione codice binario che non è una soluzione in questo caso.

risposta

7

Questo è un problema noto con il plugin Facebook. C'è un biglietto aperto al https://github.com/Wizcorp/phonegap-facebook-plugin/issues/111614 - Ti suggerisco di tenere d'occhio.

Come un work-around, si potrebbe provare

Project > Build Settings > Build Options > Enable Bitcode = No 

(trovato @http://forum.ionicframework.com/t/error-after-updating-to-xcode-7/32641)

+0

Come ho detto ho provato, ma se lo disabilito la mia applicazione doe apt apri l'app per Facebook ma invece lo carica nel browser. – radioaktiv

0

Si consiglia di aggiornare il tuo Facebook SDK. Ha fatto il trucco per me dato che l'ultima versione di Facebook SDK supporta bitcode. Non è necessario eseguire l'aggiornamento alla versione 4, poiché la versione 3.24 funziona perfettamente. Ci sono alcuni altri passaggi per la compatibilità con iOS9 come la whitelist dei domini FB e l'autorizzazione delle app FB.

Il seguente codice binario che il supporto di versione e può compilare con il flag impostato su YES:

La sezione dedicata del FB documentazione dice:

Is bitcode supported?

v4.6 and v3.24 of the SDK supports bitcode. If you are using earlier versions, you must disable bitcode.

Tutti s PTO necessarie per l'aggiornamento a iOS9 (trasporto di sicurezza/app white list) può essere trovato qui: https://developers.facebook.com/docs/ios/ios9

Ma devo dire che, anche se si compila/link OK e utilizza un dialogo facebook login "integrato", ancora utilizza un browser come vista modale nella tua app. Per me è una regressione dalla precedente integrazione di Facebook app. Non so se c'è un modo per riavere la vecchia finestra di dialogo di login "nativa".

17

Da Xcode 7, BitCode è abilitato per impostazione predefinita. Si verificherà questo errore fino a quando tutte le app e i framework nel pacchetto non includeranno il codice bit.

per rimuovere questo avviso è possibile disattivare questa in Impostazioni Costruire

Creare Impostazioni> Tutti> Costruire Opzioni> Attiva codice binario che = NO enter image description here

+1

Apple rifiuta l'app se la inviamo con l'opzione Abilita Bitcode = NO? –

+0

Se l'app IOS non dovrebbe essere menzionata da Apple [qui] (https://developer.apple.com/library/prerelease/watchos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html) Per le app iOS, bitcode è il valore predefinito, ma facoltativo. Per le app watchOS e tvOS, è richiesto il bitcode –

4
I too face the same problem while updating the frameworks for giving iOS9 support. 

1.To change In build settings: 

Enable Bitcode = "NO"

Not only for your project targets, to set all of your targets including your pods(Project) targets. 

2.Change the Build Architecure only: 

Debug - YES

Relese - NO

Quello è stato risolto!

Problemi correlati