What worked for me was placing the myPreChatDelegate earlier in the class since its reference is 'weak'. If you put it on the class variables, it stays alive to listen to the delegate successfully.