ios - Com.apple.nsurlstorage-cache नामित सेवा के लिए कनेक्शन अवैध था



objective-c cocoa (3)

मैं iOS8 के लिए एक कस्टम कीबोर्ड बना रहा हूं, और मुझे NSURLConnection के साथ कुछ समस्याओं का पता लगाने में कठिन समय आ रहा है।

मैं sendAsynchronousRequest का उपयोग कर रहा हूँ: इस तरह से विधि:

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        NSLog(@"recieved asynchronous response");

        if (!connectionError) {
            [self connection:nil didReceiveData:data];
            [self connectionDidFinishLoading:nil];
        }
        else{
            NSLog(@"connection failed - %@", connectionError);
        }
    }];

यह सब समय की अवधि (1-2 दिन) के लिए सही तरीके से काम करता है, और मैं सही तरीके से डेटा प्राप्त कर सकता हूं। इस समय के बाद मैं निम्न त्रुटि संदेश देख रहा हूं:

 ***cachedResponseForRequest:key:handler failed: 

त्रुटि डोमेन = एनएससीकोएरराडोमेन कोड = 4099 "ऑपरेशन पूरा नहीं किया जा सका। (कोको त्रुटि 4099.)" (कॉम। एपेल.एनसर्लास्टोरेज-कैश नामित सेवा के लिए कनेक्शन अवैध था।) UserInfo = 0x17579030 {NSDebugDescription = सेवा के लिए कनेक्शन नामित com.apple.nsurlstorage-cache अवैध था।}; {NSDebugDescription = "com.apple.nsurlstorage-cache नामित सेवा के लिए कनेक्शन अवैध था।";

एकमात्र रास्ता तो मैं फिर से सही ढंग से काम करने में सक्षम होना प्रतीत होता है, सामग्री को रीसेट करने और फोन पर सेट करना। अगर कोई मुझे सही दिशा में बता सकता है कि यह क्यों हो रहा है मैं बहुत आभारी होंगे। अग्रिम में धन्यवाद।


यह घटित होता है क्योंकि डिवाइस ने आपके कीबोर्ड को इंटरनेट का उपयोग करने की अनुमति नहीं दी थी।

इसे ठीक करने के लिए, पहले जांचें कि आपके कुंजीपटल विस्तार के Info.plist के पास कुंजी "अनुरोध" ओपन ऐस "" के लिए मूल्य "हाँ" है।

फिर, किसी डिवाइस पर अपना ऐप स्थापित करने के बाद, सेटिंग -> सामान्य -> ​​कीबोर्ड -> कीबोर्ड -> पर जाएं और "पूर्ण पहुंच की अनुमति दें" बटन को चालू करें।


मुझे यह समस्या भी थी जब मैं अपने ऐप के लिए एक विजेट लिखता हूं, तो विजेट नेटवर्क का उपयोग कर सकता है। फिर मुझे पता चला कि नेटवर्क का उपयोग कैसे करना है।

बस अपना लक्ष्य (कुंजीपटल) चुनें -> क्षमताओं -> ऐप सैंडबॉक्स पर स्विच करें -> नेटवर्क जांचें आने वाली कनेक्शन (सर्वर) आउटगोइंग Coonections (क्लाइंट)


मैंने इस मुद्दे से बचने का तरीका पाया है

इस मुद्दे को हल करने के लिए, परीक्षणों को लॉन्च करने से पहले एक पर्यावरण चर जोड़ें:

XPC_SIMULATOR_LAUNCHD_NAME = "com.apple.CoreSimulator.SimDevice.04042E78-E743-4376-94E9-31842D4770B6.launchd_sim"

हालांकि, 04042E78-E743-4376-94E9-31842D4770B6 प्रत्येक पर्यावरण पर निर्भर करता है। इसलिए यह कठिन-कोडित नहीं हो सकता। मैं परियोजना सेटिंग्स से मूल्य को पढ़ने के लिए एक रास्ता खोज रहा हूँ





ios8