मैं alamofire टाइमआउट तरीकों के बारे में सवाल है, सब से पहले, मेरी अंग्रेजी काफी अच्छा तुम लोगों को समझने के लिए जाने के लिए नहीं हो सकता है मैं क्या कहा ... लेकिन मैं अपने प्रश्न की व्याख्या करने के थक गया होगातेज 2.1 alamofire टाइमआउट विधि
मेरी परियोजना में, मैंने अलामोफायर का इस्तेमाल किया, किसी कारण से, मुझे यह सुनिश्चित करना होगा कि मेरा ऐप खराब कनेक्शन क्षेत्र का काम कर रहा हो। तो मैं टाइमआउट विधि का उपयोग कर सोच रहा हूँ।
मैंने देखा कि कुछ लोग, कहा समाधान 1 का उपयोग कर रहे हैं:
let configuration = NSURLSessionConfiguration.defaultSessionConfiguration()
configuration.timeoutIntervalForRequest = 2 // seconds
self.alamofireManager = Alamofire.Manager(configuration: configuration)
self.alamofireManager!.request(.GET, "http://example.com/")
.response { (request, response, data, error) in
इच्छा समस्या हल हो, लेकिन मेरे मामले में, मैं डिबग क्षेत्र कहा मेरे अनुरोध "अभी नहीं" है
देखा तो मैं एक और समाधान जो मैं यहाँ (stackoverflow) समाधान 2 पर देखा की कोशिश की:
let manager = Alamofire.Manager.sharedInstance
manager.session.configuration.timeoutIntervalForRequest = 5
manager.request(.POST, url, parameters: params, encoding: .JSON, headers: nil).response(queue: dispatch_get_main_queue()) { (Request, res, data, error) -> Void in{}
इस विधि लगता है काम करना चाहिए, लेकिन केवल अगर मैं मेरे ऐप को पृष्ठभूमि में जाने और मेरे ऐप पर प्रतिक्रिया करने दें, डीबग क्षेत्र शो "टाइमआउट" का अनुरोध करता है, अन्यथा डीबग क्षेत्र ने कुछ भी नहीं दिखाया, जब तक कि मैं इसे पृष्ठभूमि में स्विच नहीं करता और ऐप को प्रतिक्रिया देता हूं।
मैं Xcode 7.1 और ios 9.0 का उपयोग कर रहा
अद्यतन: अगर मैं समाधान 2 का इस्तेमाल किया, अगर मैं requesttimeout = 5 चलो, डिबग क्षेत्र "टाइमआउट त्रुटि" दिखाई देगा, लेकिन यह से ज्यादा लेना 5 सेकंड ... कभी-कभी यह लगभग 30 मिनट दिखाएगा, लेकिन कभी-कभी 1 मिनट से अधिक ....
अद्यतन 2: मुझे पता चला कि समस्या क्या है। समस्या यह है कि यदि आप कनेक्ट स्थिति का पता लगाने के लिए पहुंचने योग्य ढांचे का उपयोग कर रहे हैं, तो सिस्टम कनेक्ट का पता लगा सकता है कि कनेक्ट चालू है या नहीं, तो यह अनुरोध के बाद अनुरोध टाइमआउट दिखाएगा (इसमें 1 मिनट तक का समय लग सकता है)।
@oleg, समझाने के लिए धन्यवाद मेरे मामले में, मैं अपने प्रोजेक्ट में इस तरह मेट्रो या भूमिगत के रूप में, गरीब कनेक्ट क्षेत्र पर काम कर बनाने के लिए कोशिश कर रहा था सुरंग इसलिए मैंने आईफोन सेटिंग पर डेवलपर किट खोला, जहां नेटवर्क लिंक कंडीशनर। कॉन्फ़िगरेशन को 100% नुकसान के रूप में बनाएं। इसलिए मुझे नहीं पता कि मुझे इतना समय क्यों लगा कि मुझे पता चल गया है .... –
क्या आप एक समाधान समाधान ढूंढने में सक्षम थे? –