After updating to Xcode 9, using Swift 3 and the iPhone X simulator, my console is full of:
TIC Read Status [11:0x0]: 1:57
What is that and how do I fix it? Help is very appreciated.
PS: I prefer not to just "silence" it with an Environment Variable
in the build scheme.
Apple staff gave the following answer:
TIC
expands to “TCP I/O connection”, which is a subsystem within CFNetwork that runs a TCP connection
1
and 57
are the CFStreamError domain and code, respectively; a domain of 1 is kCFStreamErrorDomainPOSIX and, within that domain, 57
is ENOTCONN
In short, a TCP read has failed with ENOTCONN.
As the TCP I/O connection subsystem has no public API, you must necessarily be using it via some high-level wrapper (like NSURLSession).
source: https://forums.developer.apple.com/thread/66058
EDIT/UPDATE:
Since we are all still having these annoying logs, I asked to the same Apple specialist from the above link about our situation, which is now specific for Xcode 9 and Swift 4. Here it is:
A lot of people are complaining about these logs, which I am having as well in all my apps since I upgraded to Xcode 9 / iOS 11.
2017-10-24 15:26:49.120556-0300 MyApp[1092:314222] TIC Read Status [55:0x0]: 1:57 2017-10-24 15:26:49.120668-0300 MyApp[1092:314222] TIC Read Status [55:0x0]: 1:57 2017-10-24 15:26:49.626199-0300 MyApp[1092:314617] TIC Read Status [56:0x0]: 1:57
His answer:
It’s important to realise that this ENOTCONN does not necessarily mean that anything has gone wrong. Closed TCP connections are expected in all versions of HTTP. So, unless there’s some other symptom associated with this error, my recommendation is that you ignore it.
source: https://forums.developer.apple.com/message/272678#272678
SOLUTION: Just wait for newer versions/updates of Xcode 9.
Here is how TIC Read Status [11:0x0]: 1:57
breaks down:
TIC
expands to “TCP I/O connection”, which is a subsystem within CFNetwork that runs a TCP connection
11
is a connection ID number within TIC
0x0
is a pointer to the TIC object itself
1
and 57
are the CFStreamError domain and code, respectively; a domain of 1 is kCFStreamErrorDomainPOSIX and, within that domain, 57 is ENOTCONN
Source: https://forums.developer.apple.com/thread/66058
Note: Like what @David mentioned in the comment, it's not really a good option. You may want to keep it disabled as console doesn't provide useful information when debugging crashes like libc++abi.dylib: terminating with uncaught exception of type NSException
.
Still, for people who are wondering how to silence the warning and until a better fix is available you may keep following variable handy and toggle as needed.
Use OS_ACTIVITY_MODE = disable
environment variable under Arguments in the product schemes to avoid console getting flooded with such warnings.
Note B: Enable it to see the effect.
Source: https://medium.com/@adinugroho/disable-os-logging-in-xcode-8-ec6d38502532