2015-08-02 12 views
10
2015-08-01 22:30:43.893 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.896 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.899 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.912 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.913 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.913 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.914 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.914 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.915 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 
2015-08-01 22:30:43.915 MyApp[2425:284133] ERROR: handshake failed ... The request timed out. 

L'ho ricevuto a caso. Come posso verificare esattamente quale framework/libreria sta causando questo? Stampa solo nella mia console Xcode.Perché si verifica un errore "handshake non riuscito" nella mia console Xcode?

+1

Si sta utilizzando presa razzo? –

+1

Sarà più semplice aiutare se fornisci un elenco di librerie e librerie di terze parti che vengono utilizzate nella tua app. Idealmente se fornisci un progetto di test che ha descritto un problema. –

+0

puoi elencare le strutture aggiunte nel tuo progetto. –

risposta

-1

I timeout si verificano se un'API non risponde per un lungo periodo, che in genere è impostato su 15, 30 o 60 secondi.

I timestamp sono suddivisi su un secondo, che indica chiaramente che si sta utilizzando una connessione socket e probabilmente una libreria per lo stesso, che è il problema qui. Controlla la libreria che stai utilizzando. Sarà un problema lato server.

2

Look hat this Question sembra essere molto simile, stai usando una libreria che usa un server websocket. Forse questo può risolvere il tuo problema molto velocemente. In caso contrario, pubblica un elenco di librerie che utilizzi e forma il codice in cui si imposta un socket.

0

Alcune librerie nel progetto potrebbero utilizzare l'autenticazione socket o SSL.

Nel mio caso, ho visto lo stesso messaggio di errore, handshake failed, quando ho provato a inviare notifiche push al server APNS con certificati errati.

È difficile trovare quale libreria o quadro stampare sulla console. Provare a rimuovere le librerie di terze parti incluse nel progetto finché non viene visualizzato il messaggio di errore.

0

Penso che tu stia utilizzando un server websocket per il tuo progetto. Devi eseguire un server socket.io. Ecco perché xcode sta mostrando questo errore.

veda questo post simile su StackOverflow My Socket.io on IOS fails to handshake with the websocket server

alcuni momenti in cui si utilizza l'API notifica push volte la stretta di mano non è riuscita si verifica l'errore, in modo da leggere questa documentazione Apple per la risoluzione dei problemi se la vostra funzione di notifica push sta registrando questo errore App push notification troubleshooting

0

Il modo in cui posso introdurre potrebbe non essere una buona soluzione per voi. E i miei lavori risposta sulla base di queste due condizioni

1.you hanno di commentare nearlly tutti i "println" nel codice

2.the esempio chiamare "println" per inviare il messaggio di errore

Poi, è possibile impostare "Punto di interruzione simbolico" in "Menu debug -> Punti di interruzione -> Crea punto di rottura simbolico" e impostare la condizione "println"

(Se il modulo è vecchio, potrebbe essere necessario interrompere su "NSLog" o qualche cosa)

enter image description here

enter image description here

riferimento a come impostare breakpoint simbolico: http://rshankar.com/debugging-swift-app-in-xcode/

Problemi correlati