2013-10-01 11 views
16

In seguito all'aggiornamento da SDK iOS di Facebook dalla versione 3.7.1 alla 3.8, ho iniziato a vedere quanto segue nel log della mia console durante l'autenticazione con la mia app tramite Facebook :Il parametro 'custom_events' o 'custom_events_file' è richiesto per l'attività 'CUSTOM_APP_EVENTS'

FBSDKLog: Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0xc5a9cf0 {com.facebook.sdk:HTTPStatusCode=400, com.facebook.sdk:ParsedJSONResponseKey={ 
    body =  { 
     error =   { 
      code = 100; 
      message = "(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity"; 
      type = OAuthException; 
     }; 
    }; 
    code = 400; 
    headers =  (
       { 
      name = "Access-Control-Allow-Origin"; 
      value = "*"; 
     }, 
       { 
      name = "Cache-Control"; 
      value = "no-store"; 
     }, 
       { 
      name = Connection; 
      value = close; 
     }, 
       { 
      name = "Content-Type"; 
      value = "text/javascript; charset=UTF-8"; 
     }, 
       { 
      name = Expires; 
      value = "Sat, 01 Jan 2000 00:00:00 GMT"; 
     }, 
       { 
      name = Pragma; 
      value = "no-cache"; 
     }, 
       { 
      name = "WWW-Authenticate"; 
      value = "OAuth \"Facebook Platform\" \"invalid_request\" \"(#100) The parameter 'custom_events' or 'custom_events_file' is required for the 'CUSTOM_APP_EVENTS' activity\""; 
     }, 
       { 
      name = "x-fb-loadmon"; 
      value = "0,2.76,90"; 
     } 
    ); 
}, com.facebook.sdk:ErrorSessionKey=<FBSession: 0x12e5e9c0, state: FBSessionStateOpen, loginHandler: 0x12e58630, appID:..., urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0xd884b00>, expirationDate:..., refreshDate:..., attemptedRefreshDate:..., permissions:...>} 

ho scaricato le versioni più recenti del campione app Facebook iOS e verificato che le mie chiamate al Facebook SDK nella mia AppDelegate sono up-to-date. Per l'autenticazione, invierò il messaggio openActiveSessionWithReadPermissions:allowLoginUI:completionHandler: a FBSession.

Sembra che questo potrebbe essere un bug di Facebook (sto per presentare un bug con loro), ma è anche possibile che sto facendo qualcosa di sbagliato - qualsiasi aiuto/approfondimento sarebbe apprezzato!

Ho risolto temporaneamente il problema aggiungendo una chiamata a [FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly]; nel mio AppDelegate, ma preferirei una soluzione più completa.

3/24/2014 Modifica

questo non è più repros su 3.8 (né repro su 3.13, che ho anche provato). Sembra che Facebook abbia corretto questo problema sul server.

+0

ho provato i progetti di esempio che vengono in cartella Facebook SDK scaricato da Facebook. C'è anche lo stesso errore per i loro progetti campione ufficiali che utilizzano le app di Facebook ufficiali per le interazioni. Ho cancellato la mia risposta perché non è la soluzione reale come pensi. – ersentekin

+3

@ersentekin, interessante. Grazie per averlo esaminato! Ho archiviato un bug con loro, quindi spero che lo risolvano presto. – mon4goos

+3

@ mon4goos Hai il link segnalazione bug? –

risposta

0

dell'elenco Impostazioni> Avanzate nella console applicazione Facebook provate ad impostare "Installa Insights" e "SDK Insights mobili" a disattivata (a meno che non ne hai bisogno per finalità di marketing)

+0

Come si disabilitano gli approfondimenti dalle impostazioni Avanzate? Lo fai in xcode? –

+0

Come ho menzionato nel mio commento a @neverbendeasy, anche se questo nasconderà il problema, non penso che risolva il problema principale. Ci dovrebbe essere un modo per mantenere quelle impostazioni abilitate, ma non avere gli errori di superficie di Facebook iOS SDK. – mon4goos

9
  1. Vai a developers.facebook.com
  2. Dalla barra di intestazione, cliccare su "applicazioni"
  3. Seleziona l'app che stai lavorando su e fare clic su "Modifica App"
  4. Nella barra di navigazione a sinistra, vedrete una scheda "Impostazioni"
  5. Sotto "Imposta" Tings" cliccare sulla scheda 'Avanzate' e scorrere fino alla sezione ''
  6. Change 'Insights Installare Insights' e 'Mobile SDK Insights' su 'Disabled'
+4

Grazie per il commento.Anche se questo nasconderà il problema, non penso che risolva il problema principale. Ci dovrebbe essere un modo per mantenere quelle impostazioni abilitate, ma non avere gli errori di superficie di Facebook iOS SDK. – mon4goos

+0

Sì, come dice @ mon4goos, è solo un trucco e non la vera soluzione. Facebook dovrebbe risolvere questo bug importante. E 'davvero fastidioso se sei nuovo su FB SDK – ersentekin

0

ho ottenuto lo stesso errore, l'aggiornamento a FacebookSDK 3.9 lo ha risolto per me. Non ho dovuto disabilitare gli approfondimenti.

+0

L'aggiornamento non ha funzionato per me. –

2

Sto eseguendo l'FB SDK 3.9 e ricevo ancora questo errore.

Ho trovato questo come soluzione alternativa.

Aggiungi questa riga nel AppDelegate :: appDidFinishLaunchingWithOptions

[FBAppEvents setFlushBehavior:FBAppEventsFlushBehaviorExplicitOnly];