2012-09-26 5 views
24

Abbiamo appena aggiornato il nostro SDK di Facebook per iOS a 3.1. Facebook SDK 3.0.8 non è stato eseguito su iOS6, ora che è stato aggiornato a 3.1, funziona su iOS 6, ma si blocca in iOS 5.x.Facebook SDK 3.1 per iOS - funziona su iOS6, ma si blocca su iOS 5.x

a causa della AdSupport.framework app crash su iOS 5.x immediatamente dopo aver iniziato con il seguente errore:

dyld: Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport 

Referenced from: /Volumes/Macintosh HD/Users/dmitrybaranov/Library/Application Support/iPhone Simulator/5.0/Applications/D6A93996-1E58-48A5-A457-DBC4FCCEE0EB/app.app/app 
   
Reason: image not found 
(lldb) 

Qualcuno ha affrontare questo problema? C'è un problema da parte di Facebook e ci stanno lavorando per risolvere questo problema?

O stiamo sbagliando qualcosa?

risposta

58

Avete impostato le strutture come facoltative? Quando aggiungi AdSupport.framework, Social.framework e Account.framework, c'è un menu a discesa a destra che puoi selezionare tra "Richiesto" e "Opzionale". Vedere un esempio di foto qui: Link

Un'altra cosa da controllare è nel vostro Progetto "Build Settings" che 'Base SDK' è 6.0 e 'iOS distribuzione di destinazione' è iOS 4.3.

Sono in grado di creare FB SDK 3.1 sul mio iOS 5.1 con queste impostazioni.

+0

grazie mille .. stavo per tornare a Xcode 4.3 e FBSDK 3.0 .. mi hai risparmiato un sacco di problemi .. – lukya

+0

Grazie - in realtà dovremmo aggiornare la documentazione su https://developers.facebook.com/ docs/getting-started/facebook-sdk-for-ios/3.1/upgrade-from-3.0/per riflettere anche questo –

+0

Ora è fatto ;-) –

10

Se state rivolte iOS versioni meno di 6,0, avrete bisogno di fare AdSupport.framework, Social.framework, e Accounts.framework opzionalmente-linked.

Si prega di dare un'occhiata allo screenshot allegato. enter image description here

Cheers ... !!!

+1

Questo funziona per me, iOS5.1.1 e FB SDK 3.1. Grazie per averlo mostrato chiaramente con uno screencap. – GeneCode

+1

Siete i benvenuti !!! – VSN

+0

Grazie amico :) mi hai davvero salvato il tempo :) –

1

Per chi legge questo e utilizza Facebook SDK 3.6+ per iOS, non è più necessario includere queste librerie o facoltativamente collegarle. Vedere la Facebook docs for Upgrading from 3.5 to 3.6:

"Rimuovere le dipendenze quadro aggiunti alla vostra applicazione durante l'installazione del Facebook SDK L'SDK dipende ancora su di loro, ma ora li carica automaticamente, configurazione più semplice rimuovere questi quadri/librerie:..

Accounts.framework

AdSupport.framework

Security.framework

Social.framework

libsqlite3.dylib [o rimuovere il flag del linker -lsqlite3.0]

[Nota: se la vostra applicazione utilizza le API da quei quadri/librerie direttamente, il progetto dovrebbe comunque comprendere il quadro esplicitamente]"

+0

@JoeBlow Rimuovili dall'elenco "Collega binari con librerie" nelle impostazioni Fasi di creazione. Non penso che ci sia alcuna conseguenza o effetto di lasciarli referenziati nel Navigatore di progetto. Potresti rimuoverli da lì per ridurre il disordine o ridurre la confusione se hai molti obiettivi e non ti colleghi alle librerie per nessuno dei tuoi obiettivi. – MattyG