2017-12-13 19 views
24

私はiOS上で動作する簡単なプログラムHelloWorldを持っています。同じコードが長い間うまく動作しています。最近、私は私のMacBook上のXCode 9に接続された私のipadでプログラムを実行すると、私は以下のBoringSSLエラーを取得することがわかりました。シミュレータでプログラムを実行すると、このエラーは表示されません。 iOSは11.2です。 Xcodeは9.2です。Xcode 9 iOS 11 BoringSSL SSL_ERROR_ZERO_RETURN

私のコードにはBoringSSLへの参照はありません。ただし、NSMutableURLRequestを使用してhttpsをサーバーに呼び出すことはありません。コールは正常に動作し、BoringSSLメッセージ以外はすべて正常に動作しているようです。

メッセージが表示される理由をデバッグする方法はありますか? HellowWorld [466:85961]、その2つの数字はどういう意味ですか?

誰でもメッセージの意味と回避方法を知っていますか?

2017-12-13 15:41:13.486047-0500 HellowWorld[466:85961] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert 
2017-12-13 15:41:13.486363-0500 HellowWorld[466:85961] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert 
+0

私は同じ問題を抱えていますが、解決策がまだ見つかりませんでした。ネットワークリクエストでAlamofireを使用していますが、同じエラー/警告が表示されています –

+0

同様の質問がここにあります。https:/ /github.com/Homebrew/homebrew-core/issues/14418#issuecomment-308850249 – Stephen

+0

同じ問題があります – Jimbo

答えて

1

メッセージが立ち上がっなぜ私はデバッグすることができます方法はありますか?はい

ある、と私は少し、それはまだ言及されていない驚いて。

CFNetworkFoundationのネットワーキングのクラスのコアを扱う - それはまたCFNETWORK_DIAGNOSTICS環境変数を経由して詳細なログの(しばしば見落とさ)機能を備えています。 0はオフであり、より高い数字が次第にロギングを与える場合それは、0から3までの整数値に設定されるべきである

setenv("CFNETWORK_DIAGNOSTICS", "3", 1); 

はプログラムCFNetwork診断ログを可能にします。通常の開発では、この環境変数をXcodeのスキームエディタで設定できます。アプリケーションがXcodeから実行されると、CFNetworkのログエントリがデバッグコンソール領域に表示されます(表示されていない場合はView>Debug Area>Show Debug Area)。

環境変数は、アプリケーションの起動シーケンスの先頭に配置する必要があります。通常これをメインの先頭に置くだけで十分ですが、CFNetworkを使用するC++静的初期化プログラムを使用する場合は、それらの前に置く必要があります。

注:このコードは、main.swiftになります。デフォルトでSwiftアプリ にはmain.swiftがありません。 「Swiftプログラミング言語」では、 を追加する方法について説明しています。
※Swiftでは、setenvの末尾にあるセミコロンを削除します。上記の環境変数を設定する

は間違いなく問題がどこにあるか決定する際に役立つ、または非常に少なくとも、ややあいまいなエラーメッセージの診断を開始するためにあなたの出発点を与える必要があります。

CFNetwork Diagnostic Logging

0

リストのリストの一部が続くので、それはその後、デバッグコンソールでそれを長い時間のためのリストを投稿すると同じように非常に長いリストを投稿するのNSLogを使用しようとすると、私は同様のメッセージが表示されましたコンソールに印刷されていなかったことよりあった示すために、いくつかの...、私はおそらくあなたがあなたのに似たものを使用することができます

#define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); 

を(OBJ-Cを使用して)これを固定し、私のVC.mにこのに#defineを追加します迅速なプロジェクト。

関連する問題