स्टोरकिट का उपयोग कर गैर-दस्तावेज NSURLErrorDomain त्रुटि कोड (-1001, -1003 और -1004) [ios]


Answers

मेरे समान समस्याएं हैं, मेरे मामले में नेटवर्क कनेक्टिविटी से संबंधित हैं:

त्रुटि डोमेन = NSURLErrorDomain कोड = -1001 "अनुरोध का समय समाप्त हुआ।"

जाँच करने के लिए चीजें:

  • क्या कोई मौका है कि आपका सर्वर कुछ समय सीमा के भीतर जवाब नहीं दे सकता है? 60 सेकंड या 4 मिनट की तरह?
  • क्या कोई संभावना है कि आपका डिवाइस नेटवर्क स्विच करना है (वाईफाई, 3 जी, वीपीएन)?
  • क्या किसी (क्लाइंट बनाम सर्वर) प्रमाणन के लिए प्रतीक्षा कर सकता है?

क्षमा करें, ठीक करने के लिए कोई उपाय नहीं है बस इसे डिबग करना, यह पता लगाने की कोशिश है कि समस्या क्या है (-1021, -1001, -1009)

अपडेट: Google खोज यह खोजना बहुत दयालु था:

  • -1001 TimedOut - यह समय समाप्ति की तुलना में अधिक समय लगा था जिसे अलॉट किया गया था।
  • -1003 CannotFindHost - मेजबान पाया नहीं जा सका।
  • -1004 कैनट कनेक्टोहोस्ट - मेजबान ने हमें एक कनेक्शन स्थापित करने की अनुमति नहीं दी।
Question

मैं StoreKit- संबंधित कोड लिख रहा हूँ, और जब मैं कतार में कोई खरीदारी जोड़ने का प्रयास करता हूं तो मुझे कुछ परेशानी त्रुटि कोड मिल रहा है

अब तक, मुझे त्रुटि कोड -1003 और -1004 का अनुभव है और मुझे इंटरनेट पर उन कोडों के बारे में कुछ भी नहीं मिल रहा है।

एक उत्पाद अनुरोध चलाने से वैध उत्पाद संख्याएं रिटर्न होती हैं, इसलिए मुझे पता नहीं है कि [[SKPaymentQueue defaultQueue] addPayment:aPayment]; इस अनुलेखित समस्या से असफल हो जायेगा

एक ही कोड भी एक डिवाइस पर त्रुटियों के बिना काम करता है, लेकिन दूसरे पर नहीं।

मेरे पास जो प्रश्न हैं, अभी तक, अनुत्तरित हैं:

ये कोड क्या मतलब है? मैं इस समस्या को कैसे कम कर सकता हूं? क्यों खरीद के प्रयासों के लिए हो रहे हैं और उत्पाद अनुरोधों के लिए नहीं?

मैंने जो समस्या निवारण किया है वह एक हस्ताक्षर प्रमाण पत्र और प्रावधान प्रोफ़ाइल को पुनर्जन्म करने में शामिल है, वाईफाई नेटवर्क बदल रहा है, सफाई और निर्माण और सभी संबंधित सॉफ़्टवेयर और घटकों को पुनः स्थापित कर रहा है, और इनमें से कोई भी अलग-अलग या एक साथ समस्या को ठीक करने में मदद मिली है

संपादित करें:

एप्पल देव मंचों पर इस बारे में चर्चा हुई, लेकिन ऐप्पल से कोई भी जवाब नहीं दिया है: https://devforums.apple.com/thread/107121?tstart=75 (आईओएस डेवलपर खाता देखने के लिए आवश्यक है)

संपादित करें:

मुझे आज त्रुटि कोड -1001 के साथ हिट किया गया था, जो कि इस तरह की व्याख्या में और आंतरायिक समस्याओं को जोड़ने के लिए किया गया था। अभी भी ऐप्पल से कोई जवाबदेही नहीं है, जो मुझे मिल सकता है

संपादित करें:

मुझे संदेह है कि इन त्रुटि कोड बेतरतीब ढंग से उत्पन्न होते हैं और वास्तव में केवल संकेत मिलता है कि सैंडबॉक्स नीचे है किसी और को इस समस्या का अनुभव है?




मैं अपनी परियोजना में निम्नलिखित विधि का उपयोग करता हूँ

-(NSArray*)networkErrorCodes
{
    static NSArray *codesArray;
    if (![codesArray count]){
        @synchronized(self){
            const int codes[] = {
                //kCFURLErrorUnknown,     //-998
                //kCFURLErrorCancelled,   //-999
                //kCFURLErrorBadURL,      //-1000
                //kCFURLErrorTimedOut,    //-1001
                //kCFURLErrorUnsupportedURL, //-1002
                //kCFURLErrorCannotFindHost, //-1003
                kCFURLErrorCannotConnectToHost,     //-1004
                kCFURLErrorNetworkConnectionLost,   //-1005
                kCFURLErrorDNSLookupFailed,         //-1006
                //kCFURLErrorHTTPTooManyRedirects,    //-1007
                kCFURLErrorResourceUnavailable,     //-1008
                kCFURLErrorNotConnectedToInternet,  //-1009
                //kCFURLErrorRedirectToNonExistentLocation,   //-1010
                kCFURLErrorBadServerResponse,               //-1011
                //kCFURLErrorUserCancelledAuthentication,     //-1012
                //kCFURLErrorUserAuthenticationRequired,      //-1013
                //kCFURLErrorZeroByteResource,        //-1014
                //kCFURLErrorCannotDecodeRawData,     //-1015
                //kCFURLErrorCannotDecodeContentData, //-1016
                //kCFURLErrorCannotParseResponse,     //-1017
                kCFURLErrorInternationalRoamingOff, //-1018
                kCFURLErrorCallIsActive,                //-1019
                //kCFURLErrorDataNotAllowed,              //-1020
                //kCFURLErrorRequestBodyStreamExhausted,  //-1021
                kCFURLErrorFileDoesNotExist,            //-1100
                //kCFURLErrorFileIsDirectory,             //-1101
                kCFURLErrorNoPermissionsToReadFile,     //-1102
                //kCFURLErrorDataLengthExceedsMaximum,     //-1103
            };
            int size = sizeof(codes)/sizeof(int);
            NSMutableArray *array = [[NSMutableArray alloc] init];
            for (int i=0;i<size;++i){
                [array addObject:[NSNumber numberWithInt:codes[i]]];
            }
            codesArray = [array copy];
        }
    }
    return codesArray;
}

फिर मैं सिर्फ त्रुटि कोड को देखता हूं और चेतावनी दिखाता हूँ अगर वह सूची में है

if ([[self networkErrorCodes] containsObject:[NSNumber
numberWithInt:[error code]]]){ 
// Fire Alert View Here
}

लेकिन जैसा कि आप देख सकते हैं कि मैंने उन कोडों पर टिप्पणी की है जो मुझे लगता है कि कोई इंटरनेट की मेरी परिभाषा के लिए उपयुक्त नहीं है I उदाहरण -1012 का कोड (प्रमाणीकरण विफल।) आप सूची को संपादित कर सकते हैं।

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

दस्तावेज़ीकरण के लिए लिंक के लिए मार्टिनेजडेलारिवा के संबंध में।




मुझे एक नया त्रुटि कोड मिला जो ऊपर दर्ज़ नहीं किया गया है: CFNetworkErrorCode-1022

Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection."