Hey guys, I'm trying to implement a TCP connection...
# kotlin-native
s
Hey guys, I'm trying to implement a TCP connection on iOS using Network.framework. To open a simple TCP connection, I'm supposed to call:
Copy code
nw_parameters_create_secure_tcp(
    NW_PARAMETERS_DISABLE_PROTOCOL,      // No TLS
    NW_PARAMETERS_DEFAULT_CONFIGURATION  // Default TCP config
)
However, iOS gives me a very weird error:
Copy code
_nw_parameters_configure_protocol_disable_block_invoke _nw_parameters_configure_protocol_disable called directly, dumping backtrace:
[x86_64] libnetcore-1880.120.4
    0   libnetwork.dylib                    0x00007fff5118d1f8 __nw_create_backtrace_string + 120
    1   libnetwork.dylib                    0x00007fff5100a898 _nw_parameters_configure_protocol_disable_block_invoke + 120
    2   PhoenixShared                       0x00000001099af1b5 _70686f656e69783a70686f656e69782d736861726564_knbridge41 + 37
    3   PhoenixShared                       0x0000000109972eac kfun:fr.acinq.phoenix.io.BlockFunctionImpl16.invoke#internal + 220
    4   PhoenixShared                       0x0000000109972fbf kfun:fr.acinq.phoenix.io.BlockFunctionImpl16.$<bridge-UNNN>invoke(platform.darwin.NSObject?){}#internal + 95
    5   PhoenixShared                       0x000000010997342b _70686f656e69783a70686f656e69782d736861726564_knbridge47 + 251
    6   libnetwork.dylib                    0x00007fff5100d7b6 nw_parameters_create_secure_tcp + 342
...
Anyone knows what the frack ?
For those interested, it turns out to be because wraps the library's ObjC block into Kotlin lambdas and the Kotlin lambda parameters into ObjC blocks : https://stackoverflow.com/questions/63029901/ios-nw-parameters-configure-protocol-disable-called-directly/63050804#63050804