Depois de atualizar para o Xcode 9, usando o Swift 3 e o simulador do iPhone X, meu console está cheio de:
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
...
O que é isso e como faço para corrigi-lo? A ajuda é muito apreciada.
PS: Prefiro não apenas "silenciá-lo" com um Environment Variable
esquema no build.
xcode
ios-simulator
ios11
xcode9
David Seek
fonte
fonte
Respostas:
A equipe da Apple deu a seguinte resposta:
TIC
expande para "conexão TCP I / O", que é um subsistema da CFNetwork que executa uma conexão TCP1
e57
são o domínio e o código CFStreamError, respectivamente; um domínio 1 é kCFStreamErrorDomainPOSIX e, dentro desse domínio,57
é ENOTCONNEm resumo, uma leitura de TCP falhou com ENOTCONN.
Como o subsistema de conexão de E / S TCP não possui API pública, você deve necessariamente usá-lo através de algum wrapper de alto nível (como NSURLSession).
fonte: https://forums.developer.apple.com/thread/66058
EDIT / UPDATE:
Como todos nós ainda temos esses logs irritantes, perguntei ao mesmo especialista da Apple no link acima sobre a nossa situação , que agora é específica para o Xcode 9 e o Swift 4. Aqui está:
Muitas pessoas reclamam desses logs, que eu também tenho em todos os meus aplicativos desde que atualizei para o Xcode 9 / iOS 11.
Sua resposta:
fonte: https://forums.developer.apple.com/message/272678#272678
SOLUÇÃO: Aguarde novas versões / atualizações do Xcode 9.
fonte
Aqui está como se
TIC Read Status [11:0x0]: 1:57
decompõe:TIC
expande para "conexão TCP I / O", que é um subsistema da CFNetwork que executa uma conexão TCP11
é um número de identificação de conexão no TIC0x0
é um ponteiro para o próprio objeto TIC1
e57
são o domínio e o código CFStreamError, respectivamente; um domínio 1 é kCFStreamErrorDomainPOSIX e, dentro desse domínio, 57 é ENOTCONNFonte: https://forums.developer.apple.com/thread/66058
fonte
Nota: Assim como o @David mencionado no comentário, é uma maneira de ocultar os avisos; portanto, use este argumento de inicialização para evitar o recebimento de muitas mensagens repetitivas e ter um console limpo. Depois de concluir a depuração, mantenha-o desativado, pois o console não fornece informações úteis quando está ativado. Por exemplo
libc++abi.dylib: terminating with uncaught exception of type NSException
.Para as pessoas que estão se perguntando como silenciar o aviso e até que uma solução melhor esteja disponível, continue seguindo as variáveis à mão e alternando conforme necessário.
Use
OS_ACTIVITY_MODE = disable
a variável de ambiente em Argumentos nos esquemas do produto para evitar que o console seja inundado por esses avisos.Nota B: ative para ver o efeito.
Fonte: https://medium.com/@adinugroho/disable-os-logging-in-xcode-8-ec6d38502532
fonte
A melhor maneira que encontrei, referente a esta mensagem de log e a algumas outras (como erros de NSURLSession que não são necessariamente erros), é ter minhas próprias funções de log.
Então eu simplesmente digito [MyProject] no filtro no canto inferior direito do painel do console, e é isso.
Observe que, chamando print na fila principal, permite que seu criador de logs seja usado a partir de threads sem misturar seu console.
Pronto para ser aprimorado e ajustado para suas necessidades :)
fonte
Eu estava tendo o mesmo problema em que estava recebendo '}' em resposta a um serviço REST (GET).
Usando:
depois de fazer minha solicitação de URL e redefinir meu objeto URLSession após obter a resposta como:
Resolveu o meu problema.
fonte
Conseguimos resolver esse problema de log desativando o HTTP / 2 no servidor da Web. No nosso caso, migramos do ELB clássico para o ELB do aplicativo que adicionou suporte ao HTTP / 2 na AWS e começamos a obter "TIC Read Status [11: 0x0 ]: 1:57 "no console XCode 10.1 / iOS 12. Parece uma solução temporária até que a Apple corrija o problema com o HTTP / 2, se houver. Essa solução pode não funcionar para todos, especialmente se você estiver usando APIs de terceiros, mas fornece algumas informações sobre o problema.
fonte
É um log indicando que uma conexão TCP está perdida / fechada / não é válida ou o que for. Isso pode acontecer se o aplicativo tiver uma conexão tcp em execução e o aplicativo ficar em segundo plano por algum tempo ou você desligar a tela do telefone. O sistema operacional decide interromper o máximo de recursos possível para reduzir o consumo de bateria. Se você colocar o aplicativo em primeiro plano, as conexões TCP que você possuía antes não funcionarão mais. Você precisa recriar uma nova conexão tcp.
Se isso não o incomoda, simplesmente ignore.
fonte