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 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
ビルドスキームで単に「沈黙」させたくない。
回答:
アップルのスタッフは次の答えを出しました:
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の新しいバージョン/アップデートを待つだけです。
内訳は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です。
注:@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エラーなど)に関して私が見つけた最良の方法は、独自のログ機能を持つことです。
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を呼び出すことにより、コンソールを混同することなく、ロガーをスレッドから使用できることに注意してください。
あなたのニーズに合わせて改善し、調整する準備ができています:)
REST(GET)サービスに応答して '}'を取得するという同じ問題が発生していました。
使用:
URLCache.shared.removeCachedResponse(for: request as URLRequest)
URLリクエストを作成した後、次のような応答を受け取った後、URLSessionオブジェクトをリセットします。
session.reset(completionHandler: {
// print(\(data))
})
私の問題を解決しました。
私たちは、WebサーバーでHTTP / 2を無効にすることでこのロギングの問題を解決しました。この場合、AWSのHTTP / 2にサポートを追加したクラシックELBからアプリケーションELBに移行し、「TIC読み取りステータス[11:0x0 ]:1:57 "XCode 10.1 / iOS 12コンソール。これは、AppleがHTTP / 2の問題を修正するまでの一時的な解決策のようです。このソリューションは、特にサードパーティのAPIを使用している場合は、すべての人にとって機能するわけではありませんが、問題についてのいくつかの洞察を提供します。