iOS11 / Xcode 9のTIC読み取りステータス1:57とは何ですか?


158

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ビルドスキームで単に「沈黙」させたくない。



5
上手。私もこのスレッドを見つけました。しかし、それはosxであり、古くて実際には答えられません...
David Seek

あなたはまだ解決策を見つけましたか?
Khodour.F 2018年

2
迷惑なのは、これがコンソールにログインすることではなく、メインスレッドがハングしているように見えることです
Hogdotmac

1
はい、そうです。しかし、私が気づいた限りデバッグモードでのみ。
デビッドシーク

回答:


182

アップルのスタッフは次の答えを出しました:

TIC 「TCP I / O接続」に拡張されます。これは、TCP接続を実行するCFNetwork内のサブシステムです。

1および57はそれぞれCFStreamErrorドメインとコードです。1のドメインはkCFStreamErrorDomainPOSIXであり、そのドメイン内で57はENOTCONNです。

つまり、TCP読み取りがENOTCONNで失敗しました。

TCP I / O接続サブシステムにはパブリックAPIがないため、高レベルのラッパー(NSURLSessionなど)経由で使用する必要があります。

ソース:https : //forums.developer.apple.com/thread/66058

編集/更新:

まだこれらの迷惑なログが残っているので、上記のリンクから同じAppleスペシャリストに状況について尋ねました。これは現在、Xcode 9およびSwift 4に固有のものです。

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

彼の答え:

このENOTCONNは、何か問題があったことを必ずしも意味しないことを理解することが重要です。閉じられたTCP接続は、HTTPのすべてのバージョンで予期されています。したがって、このエラーに関連する他の現象がない限り、無視することをお勧めします。

ソース:https : //forums.developer.apple.com/message/272678#272678

解決策:Xcode 9の新しいバージョン/アップデートを待つだけです。


30
これはSwiftに固有のものではありません。Objectiv-Cでも同様です。
Victor Engel

8
あなたは本当にこの答えを得るために上を行きました
G. LC

7
それはまだXCode10にあるので、あなたの解決策はうまくいかなかったようです。
Gennadii Tsypenko 2018年

2
ログの印刷は実行時のアプリのパフォーマンスに影響するため、これを回避する方法を見つける必要があります。現時点では、#DEBUG以外のビルドではこれが印刷されないことを期待できます
Stoyan

6
いくつかの設定があればいいので、実際には「無視」できます
Zaporozhchenko Oleksandr 2018

40

内訳はTIC Read Status [11:0x0]: 1:57次のとおりです。

TIC 「TCP I / O接続」に拡張されます。これは、TCP接続を実行するCFNetwork内のサブシステムです。

11 TIC内の接続ID番号です

0x0 TICオブジェクト自体へのポインター

1および57はそれぞれCFStreamErrorドメインとコードです。1のドメインはkCFStreamErrorDomainPOSIXであり、そのドメイン内では57がENOTCONNです。

ソース:https : //forums.developer.apple.com/thread/66058


はい。ここまでは順調ですね。それは何か悪い情報ですか、それとも単なる情報ですか?何か修正する必要がありますか?
デビッドシーク

私はそれがiOS11.0と関係があると信じており、将来のリリースで修正される可能性があります
0rt

8
しかし、なぜそれが実際に起こっているのですか?そして、なぜそれが突然iOS 11から始まったのですか?
Lane Rettig、2017年

ログにもそれらのトーンが表示されますが、すべてのネットワークコールは

これで私がしなければならないのと同じ問題?
Genevios 2017年

35

注:@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

ここに画像の説明を入力してください


13
また、私は彼のオプションを望んでいないと文字通り言った^^黙らせても問題は解消されない。
デビッドシーク

23
人々はすべてのログステートメントを無効にすることを提案するのをやめる必要があります。このような回答は削除する必要があります。
クラウスヨルゲンセン

6

このログメッセージと他のいくつか(必ずしもエラーではないNSURLSessionエラーなど)に関して私が見つけた最良の方法は、独自のログ機能を持つことです。

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")
    }
}

次に、コンソールウィンドウの右下のフィルターに[MyProject]と入力するだけです。

メインキューでprintを呼び出すことにより、コンソールを混同することなく、ロガーをスレッドから使​​用できることに注意してください。

あなたのニーズに合わせて改善し、調整する準備ができています:)


「os_log」を確認してください。これは、Appleが、高度なログ機能で使用することをお勧めの方法です
user1105951

0

REST(GET)サービスに応答して '}'を取得するという同じ問題が発生していました。

使用:

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

URLリクエストを作成した後、次のような応答を受け取った後、URLSessionオブジェクトをリセットします。

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

私の問題を解決しました。


1
私のアプリがFirebaseの呼び出しのみを行っている場合でも、これは発生するため、私の問題は解決しません。そして、私はフレームワークを操作することはできません。しかし、これをFirebase開発チームに転送します。多分彼らはそれについて何かをすることができます。
デビッドシーク

0

私たちは、WebサーバーでHTTP / 2を無効にすることでこのロギングの問題を解決しました。この場合、AWSのHTTP / 2にサポートを追加したクラシックELBからアプリケーションELBに移行し、「TIC読み取りステータス[11:0x0 ]:1:57 "XCode 10.1 / iOS 12コンソール。これは、AppleがHTTP / 2の問題を修正するまでの一時的な解決策のようです。このソリューションは、特にサードパーティのAPIを使用している場合は、すべての人にとって機能するわけではありませんが、問題についてのいくつかの洞察を提供します。


4
さて、Appleがこれを導入してから1.5年になります...呼びましょう...機能...これはすぐに「修正」されるとは思いません。
デビッドシーク

0

これは、TCP接続が失われたか、閉じられたか、not_validかどうかを示すログです。これは、アプリにtcp-connectionが実行されていて、アプリがしばらくの間バックグラウンドに置かれている場合、または電話の画面をオフにしている場合に発生する可能性があります。OSは、バッテリーの消耗を減らすために、できるだけ多くのリソースを停止することを決定します。アプリをフォアグラウンドにすると、以前のtcp-connectionsは機能しなくなります。新しいTCP接続を再作成する必要があります。

気にならない場合は無視してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.