last - xcode release




O que é o status de leitura TIC 1:57 no iOS11/Xcode 9? (4)

Depois de atualizar para o Xcode 9, usando o simulador Swift 3 e 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 corrigir isso? Ajuda é muito apreciada.

PS: Eu prefiro não apenas "silenciá-lo" com uma Environment Variable no esquema de compilação.


A equipe da Apple deu a seguinte resposta:

TIC expande para “TCP I / O connection”, que é um subsistema dentro do CFNetwork que executa uma conexão TCP

1 e 57 são o domínio e o código CFStreamError, respectivamente; um domínio de 1 é kCFStreamErrorDomainPOSIX e, dentro desse domínio, 57 é ENOTCONN

Em resumo, uma leitura TCP falhou com o ENOTCONN.

Como o subsistema de conexão TCP I / O não possui uma API pública, você deve necessariamente usá-lo por meio de algum wrapper de alto nível (como NSURLSession).

fonte: https://forums.developer.apple.com/thread/66058

EDITAR / ATUALIZAR:

Como todos nós ainda temos esses registros irritantes, eu pedi ao mesmo especialista da Apple do link acima sobre nossa situação , que agora é específica para o Xcode 9 e o Swift 4. Aqui está:

Muitas pessoas estão reclamando sobre esses logs, que estou tendo também em todos os meus aplicativos desde que fiz o upgrade para o 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

Sua resposta:

É importante perceber que este ENOTCONN não significa necessariamente que alguma coisa deu errado. Conexões TCP fechadas são esperadas em todas as versões do HTTP. Então, a menos que haja algum outro sintoma associado a esse erro, minha recomendação é que você o ignore.

fonte: https://forums.developer.apple.com/message/272678#272678

SOLUÇÃO: Aguarde pelas versões / atualizações mais recentes do Xcode 9.


A melhor maneira que encontrei, com relação a essa mensagem de log e alguns outros (como erros NSURLSession que não são necessariamente erros) é ter minhas próprias funções de log.

class Logger {
    static var project: String = "MyProject"

    static func log(_ string: String, label: String = "") {
        DispatchQueue.main.async {
            print("[\(Logger.project)] \(label) : \(string)")
        }
    }

    static func info(_ string: String) {
        Logger.log(string)
    }

    static func warning(_ string: String) {
        Logger.log(string, label: "WARNING")
    }

    static func error(_ string: String) {
        Logger.log(string, label: "ERROR")
    }
}

Então eu simplesmente digite [MyProject] no filtro inferior direito do painel do console, e é isso.

Observe que, ao chamar a impressão na fila principal, ele permite que seu registrador seja usado a partir de encadeamentos sem misturar seu console.

Pronto para ser melhorado e ajustado para as suas necessidades :)


Conseguimos resolver este problema de log desabilitando o HTTP / 2 no servidor web, no nosso caso temos migrado do ELB clássico para o aplicativo ELB que adicionou suporte ao HTTP / 2 na AWS e começamos a receber "TIC Read Status [11: 0x0 ]: 1:57 "no console XCode 10.1 / iOS 12. Isso parece uma solução temporária até que a Apple corrija o problema com o HTTP / 2, se houver algum. 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.


Eu estava tendo o mesmo problema em que estava recebendo '}' em resposta a um serviço REST (GET).

Usando:

URLCache.shared.removeCachedResponse(for: request as URLRequest)

depois de fazer minha solicitação de URL e redefinir meu objeto URLSession depois de obter a resposta como:

session.reset(completionHandler: {
  // print(\(data))                          
})

Resolvi meu problema.





xcode9