IOS11 / Xcode 9 में TIC पढ़ें स्थिति 1:57 क्या है?


158

Xcode 9 को अपडेट करने के बाद, स्विफ्ट 3 और iPhone X सिम्युलेटर का उपयोग करते हुए, मेरा कंसोल पूरा भर गया है:

TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
...

वह क्या है और मैं इसे कैसे ठीक करूं? मदद बहुत सराहना की है।

पुनश्च: मैं इसे केवल "मौन" नहीं बनाना पसंद करता हूं क्योंकि यह Environment Variableनिर्माण योजना में है।


1
के संभावित डुप्लिकेट stackoverflow.com/questions/40226104/...
timgcarlson

5
कुंआ। मैंने यह धागा भी पाया है। लेकिन यह ओएक्सएक्स, पुराना और वास्तव में उत्तर नहीं है ...
डेविड सीक

क्या आपको अभी तक कोई समाधान मिला?
खोदौर।फैन्स

2
कष्टप्रद बात यह नहीं है कि यह सांत्वना में प्रवेश करता है, लेकिन यह मुख्य धागे को लटकाने के लिए भी लगता है
Hogdotmac

1
हाँ यह करता है। लेकिन केवल डिबगिंग मोड में जहाँ तक मैंने देखा।
डेविड

जवाबों:


182

Apple कर्मचारियों ने निम्नलिखित उत्तर दिया:

TIC "टीसीपी I / O कनेक्शन" का विस्तार होता है, जो CFNetwork के भीतर एक सबसिस्टम है जो एक टीसीपी कनेक्शन चलाता है

1और 57क्रमशः CFStreamError डोमेन और कोड हैं; 1 का एक डोमेन kCFStreamErrorDomainPOSIX है और उस डोमेन के भीतर, 57ENOTCONN है

संक्षेप में, ENOTCONN के साथ एक टीसीपी रीड विफल रहा है।

चूंकि टीसीपी 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 जरूरी नहीं है कि कुछ भी गलत हो गया है। HTTP के सभी संस्करणों में बंद टीसीपी कनेक्शन अपेक्षित हैं। इसलिए, जब तक कि इस त्रुटि से जुड़े कुछ अन्य लक्षण नहीं हैं, मेरी सिफारिश है कि आप इसे अनदेखा करें।

स्रोत: https://forums.developer.apple.com/message/272678#272678

समाधान: बस नए संस्करणों / Xcode 9 के अपडेट की प्रतीक्षा करें।


30
यह स्विफ्ट के लिए विशिष्ट नहीं है। मैं इसे Objectiv-C के साथ भी प्राप्त कर रहा हूं।
विक्टर एंगेल

8
आप वास्तव में इस उत्तर को प्राप्त करने के लिए ऊपर और परे चले गए
जी नियंत्रण रेखा

7
लगता है कि आपका समाधान काम नहीं कर रहा है, क्योंकि यह अभी भी XCode10 में है।
गेनाडी त्सिपेंको

2
हम, क्योंकि लॉग मुद्रण रनटाइम के दौरान एप्लिकेशन प्रदर्शन को प्रभावित करता, गैर #DEBUG के लिए बनाता है कि इस मुद्रित नहीं हो इस से छुटकारा पाने के लिए एक रास्ता खोजने के लिए अब हम आशा कर सकते हैं के लिए,
Stoyan

6
अच्छा होगा कुछ सेटिंग्स है, तो हम वास्तव में "इसे अनदेखा" कर सकते हैं
Zaporozhchenko ऑलेक्ज़ेंडर

40

यहाँ है कैसे TIC Read Status [11:0x0]: 1:57टूट जाता है:

TIC "टीसीपी I / O कनेक्शन" का विस्तार होता है, जो CFNetwork के भीतर एक सबसिस्टम है जो एक टीसीपी कनेक्शन चलाता है

11 TIC के भीतर एक कनेक्शन आईडी नंबर है

0x0 TIC ऑब्जेक्ट के लिए एक पॉइंटर है

1और 57क्रमशः CFStreamError डोमेन और कोड हैं; 1 का एक डोमेन kCFStreamErrorDomainPOSIX है और उस डोमेन के भीतर, 57 ENOTCONN है

स्रोत: https://forums.developer.apple.com/thread/66058


ठीक है। अब तक तो सब ठीक है। यह कुछ बुरा है या सिर्फ एक जानकारी है? क्या मुझे कुछ ठीक करने की आवश्यकता है?
डेविड सीक

मेरा मानना ​​है कि इसका iOS11.0 के साथ कुछ करना है और भविष्य के रिलीज में तय हो सकता है
0rt

8
लेकिन वास्तव में ऐसा क्यों हो रहा है? और यह अचानक iOS 11 के साथ क्यों शुरू हुआ?
लेन रेटिग

मुझे उनके लॉग में भी एक स्वर मिल रहा है लेकिन मेरे सभी नेटवर्क कॉल ठीक काम कर रहे हैं: L

वही समस्या जो मुझे इसके साथ करनी चाहिए?
जिनेविओस ऑक्ट

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] कंसोल में नीचे दाएं फिल्टर में , और यही है।

ध्यान दें कि मुख्य कतार पर प्रिंट कॉल करके, यह आपके लॉगर को आपके कंसोल को मिलाए बिना थ्रेड्स से उपयोग करने की अनुमति देता है।

अपनी जरूरतों के लिए बेहतर और तैयार होने के लिए तैयार हैं :)


"os_log" की जाँच करें। यह तरीका है सेब को उन्नत लॉगिंग के साथ उपयोग करने की सिफारिश
user1105951

0

मैं एक ही मुद्दा था जहाँ मैं एक REST (GET) सेवा के जवाब में '}' मिल रहा था।

का उपयोग करते हुए:

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

मेरा URL अनुरोध करने के बाद, और प्रतिक्रिया प्राप्त करने के बाद मेरे URLSession ऑब्जेक्ट को रीसेट करने के बाद:

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

मेरी समस्या का समाधान किया।


1
मेरी समस्या का समाधान नहीं होगा क्योंकि अगर मेरा सभी ऐप फायरबेस को कॉल करता है तो भी ऐसा होता है। और मैं ढांचे में हेरफेर नहीं कर सकता। लेकिन मैं इसे फायरबेस देव टीम को भेजूंगा। शायद वे इसके बारे में कुछ कर सकते हैं।
डेविड

0

हम वेब सर्वर पर HTTP / 2 को अक्षम करके इस लॉगिंग समस्या को हल करने का प्रबंधन करते हैं, हमारे मामले में हम क्लासिक ईएलबी से आवेदन ईएलबी में माइग्रेट कर चुके हैं जो एडब्ल्यूएस पर एचटीटीपी / 2 को समर्थन जोड़ते हैं और हमें "टीआईसी रीड स्टेटस [11] 0x0 मिलना शुरू हुआ। ]: 1:57 "XCode 10.1 / iOS 12 कंसोल पर। यह एक अस्थायी समाधान की तरह दिखता है जब तक कि Apple HTTP / 2 के साथ समस्या को ठीक करता है यदि कोई हो। यह समाधान हर किसी के लिए काम नहीं कर सकता है, खासकर यदि आप तीसरे पक्ष के एपीआई का उपयोग कर रहे हैं, लेकिन यह आपको समस्या पर कुछ जानकारी देता है।


4
खैर अब इसे 1.5 साल हो चुके हैं क्योंकि Apple ने इसे पेश किया है ... चलो इसे कॉल करें ... सुविधा ... मुझे यह जल्द ही "निश्चित" होने का कोई आभास नहीं है।
डेविड ने

0

यह एक लॉगिंग है जो यह दर्शाता है कि टीसीपी कनेक्शन खो गया है / बंद हो गया है / not_valid या जो भी हो। ऐसा तब हो सकता है जब आपके ऐप में रनिंग tcp-कनेक्शन हो और ऐप को कुछ समय के लिए बैकग्राउंड में रखा जाए, या आपने अपने फोन की स्क्रीन को बंद कर दिया। OS, बैटरी जल निकासी को कम करने के लिए यथासंभव संसाधनों को रोकने का निर्णय लेता है। यदि आप ऐप को अग्रभूमि में लाते हैं, तो आपके पास पहले जो टीसीपी-कनेक्शन थे, वह अब काम नहीं करेगा। आपको एक नया tcp-कनेक्शन फिर से बनाना होगा।

यदि यह आपको परेशान नहीं करता है, तो इसे अनदेखा करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.