I need to implement tcp socket communication between server and iOS client. I am thinking of using symmetric key encryption for securing data sent through the channel. I will be storing symmetric key inside the application which I think should be secure. (there won't be any handshake of key)
However, I am not sure whether going for symmetric key encryption over ssl socket will improve connection speed significantly?
My requirement is connection should be established as soon as possible when user launches application. Can anyone point me in right direction?
The speed issue with TLS is only associated with the public-key handshake. As Bruno commented TLS uses symmetric encrypion post-handshake.
If public-key handshake adds too much latency for this particular application you should not use the shared-secret scheme that you are proposing with a shared encryption key. If you use the same key for each connection the ciphertext is vulnerable to attacks analyzing ciphertext of multiple sessions. Instead you need to apply a scheme for using a "shared secret" (which is never used directly for encryption) to negotiate a unique encryption key for each connection. Plus you need some protocol for data integrity validation on transmitted data.
All of this is tricky business to get right, so if possible you should probably go with TLS.