После обновления до Xcode 9, используя Swift 3 и симулятор iPhone X, моя консоль заполнена:
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
...
Что это такое и как мне это исправить? Помощь очень ценится.
PS: я предпочитаю не просто "замолчать" это с помощью Environment Variable
схемы сборки.
xcode
ios-simulator
ios11
xcode9
Дэвид Сик
источник
источник
Ответы:
Сотрудники Apple дали следующий ответ:
TIC
расширяется до «TCP I / O connection», которая является подсистемой в CFNetwork, которая запускает TCP-соединение1
и57
являются доменом и кодом CFStreamError соответственно; домен 1 равен kCFStreamErrorDomainPOSIX и в этом домене57
ENOTCONNКороче говоря, чтение TCP не удалось с ENOTCONN.
Поскольку подсистема соединений TCP I / O не имеет общедоступного API, вы должны обязательно использовать его через какую-то высокоуровневую оболочку (например, NSURLSession).
источник: https://forums.developer.apple.com/thread/66058
EDIT / UPDATE:
Поскольку у всех нас по-прежнему есть эти надоедливые журналы, я попросил того же специалиста Apple по приведенной выше ссылке рассказать о нашей ситуации , которая теперь специфична для Xcode 9 и Swift 4. Вот она:
Многие люди жалуются на эти журналы, которые у меня есть во всех моих приложениях, так как я обновил до Xcode 9 / iOS 11.
Его ответ:
источник: https://forums.developer.apple.com/message/272678#272678
РЕШЕНИЕ: просто дождитесь новых версий / обновлений Xcode 9.
источник
Вот как
TIC Read Status [11:0x0]: 1:57
ломается:TIC
расширяется до «TCP I / O connection», которая является подсистемой в CFNetwork, которая запускает TCP-соединение11
это идентификационный номер соединения в TIC0x0
указатель на сам объект TIC1
и57
являются доменом и кодом CFStreamError соответственно; домен 1 равен kCFStreamErrorDomainPOSIX, а в этом домене 57 равен ENOTCONNИсточник: https://forums.developer.apple.com/thread/66058
источник
Примечание: Как и то, что @David упомянул в комментарии, это способ скрыть предупреждения, поэтому используйте этот аргумент запуска, чтобы избежать получения множества повторяющихся сообщений и иметь чистую консоль. После завершения отладки оставьте его отключенным, поскольку консоль не предоставляет полезной информации, когда она включена. Например
libc++abi.dylib: terminating with uncaught exception of type NSException
.Для людей, которые задаются вопросом, как заставить замолчать предупреждение и до тех пор, пока не будет доступно лучшее исправление, вы можете держать следующую переменную под рукой и переключаться по мере необходимости.
Используйте
OS_ACTIVITY_MODE = disable
переменную окружения в разделе «Аргументы» в схемах продукта, чтобы избежать появления таких предупреждений на консоли.Примечание B: включите его, чтобы увидеть эффект.
Источник: https://medium.com/@adinugroho/disable-os-logging-in-xcode-8-ec6d38502532
источник
Лучший способ, который я нашел в отношении этого сообщения журнала и некоторых других (например, ошибок NSURLSession, которые не обязательно являются ошибками), - это иметь свои собственные функции журнала.
Затем я просто набираю [MyProject] в правом нижнем правом углу панели консоли, и все.
Обратите внимание, что, вызывая print в главной очереди, он позволяет использовать ваш логгер из потоков без перепутывания консоли.
Готовы быть улучшены и настроены для ваших нужд :)
источник
У меня возникла та же проблема, когда я получал '}' в ответ на сервис REST (GET).
С помощью:
после выполнения моего запроса URL-адреса и сброса объекта URLSession после получения ответа в виде:
Решил мою проблему.
источник
Нам удалось решить эту проблему журналирования, отключив HTTP / 2 на веб-сервере, в нашем случае мы перешли с классического ELB на приложение ELB, которое добавило поддержку HTTP / 2 на AWS, и мы начали получать «TIC Read Status [11: 0x0» ]: 1:57 "на консоли XCode 10.1 / iOS 12. Это выглядит как временное решение, пока Apple не решит проблему с HTTP / 2, если таковая имеется. Это решение может не работать для всех, особенно если вы используете сторонние API, но оно дает вам некоторое представление о проблеме.
источник
Это запись, указывающая, что соединение TCP потеряно / закрыто / not_valid или что-то еще. Это может произойти, если ваше приложение имеет работающее tcp-соединение и приложение какое-то время находится в фоновом режиме, или вы выключили экран своего телефона. ОС решает остановить как можно больше ресурсов, чтобы уменьшить разрядку аккумулятора. Если вы выведете приложение на передний план, то tcp-соединения, которые у вас были раньше, больше не будут работать. Вам необходимо воссоздать новое tcp-соединение.
Если вас это не беспокоит, просто игнорируйте это.
источник