2012-04-11 10 views
16

मैं थोड़ी देर के लिए इसके साथ अटक गया हूं और इसके आसपास नहीं लग रहा है।NSCocoaErrorDomain कोड = 256

मैं एक URL से एक स्ट्रिंग के रूप में एक यूआरएल की सामग्री पढ़ने की कोशिश कर रहा हूँ, लेकिन मैं एक अजीब

Error -> Error Domain=NSCocoaErrorDomain Code=256 "The operation couldn’t be completed. (Cocoa error 256.)"

मेरे कोड प्राप्त:

fetchedString = [[NSString alloc] initWithContentsOfURL:[NSURL URLWithString:@"www.example.com/iphone"] encoding:NSUTF8StringEncoding error:&error];          
    NSLog(@"%@",fetchedString); 

    // if there is something wrong with the URL 
    if (error) { 
     NSLog(@"Error -> %@", error); 
     return ; 
    } 

क्या मैं गलत कर रहा हूँ? मैंने NSData के रूप में भी उपयोग करने का प्रयास किया, लेकिन मुझे वापस शून्य मिल गया।

+5

URL भाग के लिए 'http: //' जोड़ने का प्रयास करें। – Eimantas

+0

जो काम किया। धन्यवाद :) – Neelesh

उत्तर

14

हां, यूआरएल में योजना गायब है: "http: //"।

कोको त्रुटि डोमेन

NSError कोड: -

"त्रुटि> त्रुटि डोमेन = NSCocoaErrorDomain कोड = 256"

त्रुटि कोड के लिए Apple documentation की जाँच करें।

NSFileReadUnknownError = 256, 

NSFileReadUnknownError
"त्रुटि पढ़ें, अज्ञात कारण"

नहीं

कि त्रुटि परिभाषा बहुत उपयोगी है। :-)

यह भी जांचें कि errornil है या नहीं, यह निर्धारित करने के लिए कि कोई त्रुटि है या नहीं, nil के लिए वापसी मूल्य देखें। सफल निष्पादन पर errornil होने की गारंटी नहीं है।

+0

आपके संदेश के लिए धन्यवाद। लेकिन मुझे कुछ और दिलचस्प मिला है मेरे पास निम्न कोड है। NSURL * serverUrl = [NSURL URLWithString: @ "http://google.com"]; एनएसईआरआर * त्रुटि = शून्य; एनएसएसटींग * स्ट्रिंगफ्रॉमस्ट्रीम = [एनएसएसटींग स्ट्रिंगविथकंट्सऑफ्लर: सर्वर यूआरएल एन्कोडिंग: NSUTF8StringEncoding त्रुटि: और त्रुटि]; एनएसएलओजी (@ "स्ट्रिंग% @ त्रुटि% @" है, स्ट्रिंगफ्रॉमस्ट्रीम, त्रुटि); मुझे निम्नलिखित त्रुटि मिली स्ट्रिंग है (शून्य) त्रुटि त्रुटि डोमेन = NSCocoaErrorDomain कोड = 261 "ऑपरेशन पूरा नहीं हो सका। (कोको त्रुटि 261.)" UserInfo = 0x6a36c60 {NSURL = http: //google.com , NSStringEncoding = 4} – user454083

+0

इस त्रुटि को कैसे संभालें –

+0

त्रुटि उत्पन्न करने वाले कोड के साथ एक प्रश्न पूछें। – zaph

2

मुझे यह त्रुटि मिली (त्रुटि डोमेन = NSCocoaErrorDomain कोड = 256) जैसे ही हमारा एसएसएल प्रमाणपत्र समाप्त हो गया। जो आपकी मदद नहीं कर सकता है लेकिन किसी और की मदद कर सकता है।

3

सैंडबॉक्सिंग आप अपने एप्लिकेशन में सैंडबॉक्सिंग का उपयोग कर रहे हैं, तो आप जांच करने के लिए है कि com.apple.security.network.clientYES पर सेट है चाहते हो सकता है। इसके तहत

नेटवर्क Xcode 5 में अपने लक्ष्य की जनरल टैब में है: आउटगोइंग कनेक्शन (क्लाइंट)

भी ध्यान रखें कि यदि आप एक कोड 257 देखना एक file:/// यूआरएल पहुँचने की कोशिश कर जब हो, यह शायद सैंडबॉक्सिंग के कारण भी है, लेकिन इस बार फ़ाइल एक्सेस भाग है। क्योंकि मैं

उपयोगकर्ता चयनित फ़ाइलों

`com.apple.security.files.user-selected.read-लिखने 'की तुलना में कुछ और करने के लिए इसे खोलने के लिए नहीं करना चाहता था मैं A Dead Simple Fileserver और उपयोग का उपयोग करने के लिए पसंद http://localhost:3000 जब डीबग मोड में।

7

मुझे अपने डिवाइस पर स्थित फ़ाइलों तक पहुंचने में एक ही समस्या थी। मैंने NSURL isFileURL always returns NO का पालन किया और [NSURL URLWithString] के बजाय [NSURL fileURLWithPath] का उपयोग किया - यह काम किया!

+1

मैं तुमसे प्यार करता हूँ, आदमी। धन्यवाद –

0

मुझे एक ही त्रुटि मिली। उपरोक्त चिह्नित उत्तर सही है। लेकिन मेरे मामले में, मेरे पास यूआरएल में "http: //" था लेकिन यूआरएल अनुरोध में पोर्ट नंबर जोड़ना पड़ा क्योंकि एक विशिष्ट बंदरगाह पर चल रही एक सेवा है जो वास्तव में आपके अनुरोध का जवाब दे रही है। @"http://example.com:8084/yyy.zzz"

1

अधिक कारण है कि इस विशिष्ट त्रुटि कारण हो सकता है:

  1. एसएसएल सर्वर पर गलत तरह से कॉन्फ़िगर है
  2. सर्वर रीडायरेक्ट (301) से https http URL (देखें # 1)
  3. App transport security अवरुद्ध अनुरोधों के लिए भी इस कोड का उपयोग करता है।
संबंधित मुद्दे