2017-12-13 107 views
24

Tôi có một chương trình HelloWorld đơn giản chạy trên iOS. Cùng một mã đã chạy tốt trong một thời gian dài. Gần đây, tôi nhận thấy rằng tôi nhận được lỗi BoringSSL bên dưới khi chương trình chạy trên iPad của tôi kết nối với XCode 9 trên Macbook của tôi. Tôi không thấy lỗi này khi tôi chạy chương trình trong trình mô phỏng. IOS là 11.2. Xcode là 9,2.XCode 9 iOS 11 BoringSSL SSL_ERROR_ZERO_RETURN

Mã của tôi không có tham chiếu đến BoringSSL. Tuy nhiên, nó sử dụng NSMutableURLRequest để thực hiện cuộc gọi https đến máy chủ. Cuộc gọi hoạt động tốt và mọi thứ dường như hoạt động tốt ngoại trừ các thông điệp BoringSSL.

Có cách nào để tôi có thể gỡ lỗi vì sao thư xuất hiện không? HellowWorld [466: 85961], 2 chữ số này có ý nghĩa gì?

Có ai biết ý nghĩa của thông điệp và cách tránh thông báo không?

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

Tôi có cùng một vấn đề, chưa tìm được giải pháp, tôi đang sử dụng Alamofire với yêu cầu mạng và cùng một lỗi/cảnh báo đang hiển thị –

+0

Câu hỏi tương tự ở đây về SO liệt kê giải thích này có thể là: https://github.com/Homebrew/homebrew-core/issues/14418#issuecomment-308850249 – Stephen

+0

Cũng có cùng sự cố – Jimbo

Trả lời

1

Có cách nào để tôi có thể gỡ rối vì sao thư xuất hiện?

, , và tôi là một chút ngạc nhiên khi nó đã không được đề cập được nêu ra.

CFNetwork xử lý cốt lõi của lớp mạng Foundation ‘s - Nó cũng có (thường bị bỏ qua) khả năng khai thác gỗ chi tiết qua các biến môi trường CFNETWORK_DIAGNOSTICS.

lập trình cho phép khai thác gỗ CFNetwork chẩn đoán:

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

Nó nên được đặt thành một giá trị số nguyên từ 0 đến 3, trong đó 0 là tắt và cao hơn số cung cấp cho khai thác gỗ dần dần hơn. Trong quá trình phát triển bình thường, bạn có thể đặt biến môi trường này thông qua trình chỉnh sửa lược đồ của Xcode. Khi ứng dụng được chạy từ Xcode, các mục nhập nhật ký CFNetwork sẽ xuất hiện trong khu vực bảng điều khiển gỡ lỗi (nếu không hiển thị, hãy chọn View>Debug Area>Show Debug Area).

Biến môi trường phải được đặt ngay ở đầu trình tự khởi chạy của ứng dụng. Thông thường, việc này đặt ở đầu của chính là đủ, nhưng nếu bạn có C + + initialisers tĩnh sử dụng CFNetwork bạn sẽ phải đặt nó trước khi những người.

Lưu ý: Trong Swift mã này sẽ đi vào main.swift. Theo mặc định, ứng dụng Swift không có main.swift; “Ngôn ngữ lập trình Swift” giải thích cách để thêm một ngôn ngữ.
* Cũng lưu ý, trong Swift loại bỏ dấu chấm phẩy ở cuối setenv.

Đặt biến môi trường ở trên chắc chắn sẽ giúp xác định vấn đề ở đâu hoặc ít nhất là cung cấp cho bạn điểm bắt đầu để chẩn đoán thông báo lỗi hơi mơ hồ.

CFNetwork Diagnostic Logging

0

tôi nhận được tin nhắn tương tự khi cố gắng sử dụng NSLog để gửi một danh sách rất dài vì nó sẽ gửi danh sách trong một thời gian dài trong debug console sau đó nó nên danh sách một phần của danh sách tiếp theo một vài ... để hiển thị đã có nhiều mà không được in trong giao diện điều khiển, tôi cố định này (sử dụng OBJ-C) và thêm #define này để VC.m tôi

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

có lẽ bạn có thể sử dụng một cái gì đó tương tự như của bạn dự án nhanh chóng.

Các vấn đề liên quan