I notice in TcpSocket.m that you get socket from: GCDAsyncSocket *socket = [client getSocket];
But then you never check to see if it is null. It would best to check for null and if null, send another event to indicate a null socket so that the JS/TS code can respond to that as an error rather than allowing it to crash the app.
Of course, I am just guessing here, maybe the socket is ok but its properties are bad? I don't know. In any case, is there any workaround to prevent the app from crashing?
Fatal Exception: NSInvalidArgumentException: [__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
This happens in line 191 of TcpSockets.m, called from line 476 in TcpCocketClient.m. My server is a plain old TCP socket server, no TLS.
It is a bug reported by crashlytics so a user experienced this, but I have not been able to reproduce
Specs: iPhone 13 iOS 17.5.1 RN version: 0.69.6 react-native-tcp-sockets: 6.0.6
I notice in TcpSocket.m that you get socket from: GCDAsyncSocket *socket = [client getSocket]; But then you never check to see if it is null. It would best to check for null and if null, send another event to indicate a null socket so that the JS/TS code can respond to that as an error rather than allowing it to crash the app. Of course, I am just guessing here, maybe the socket is ok but its properties are bad? I don't know. In any case, is there any workaround to prevent the app from crashing?