2017-02-25 6 views
5

मेरा मैक ऐप ग्राफ़ को संपादित और विश्लेषण करने के लिए डिज़ाइन किया गया है, जो उपयोगकर्ता फ़ाइल सिस्टम पर फ़ाइलों को कहीं भी बना और स्टोर कर सकते हैं। मैं उपयोगकर्ता को [NSOpenPanel openPanel] और एक इनलाइन पूर्णता हैंडलर ब्लॉक के साथ पहले बनाई गई फ़ाइल खोलने के लिए जाता हूं। मेनू प्रोसेसिंग के दौरान मैं इस कंसोल त्रुटि संदेश कई बार मिलता है:"[NSOpenPanel openPanel] आमंत्रण पर आइटम के लिए [sic] बुकमार्क अपडेट करने में विफल"

2017-02-25 13:42:47.394433 pasteurnet3[32901:1263849] [default] Failed to updated bookmark for item (null) [60AF512E-6072-427D-8624-C406B0EF7D5A] - URL:file:///AirDrop with error Error Domain=NSCocoaErrorDomain Code=260 "The file couldn’t be opened because it doesn’t exist." 

यह सिर्फ NSOpenPanel के निर्माण में होता है, यहां तक ​​कि इसे भेजने beginWithCompletionHandler: संदेश से पहले। एफडब्ल्यूआईडब्ल्यू, फिर भी मेनू अनुरोध करता है जब अंततः अनुरोध किया जाता है, फ़ाइल चयन की अनुमति देता है, और अन्यथा काम करना प्रतीत होता है। मेनू ऑब्जेक्ट के प्रारंभ में एक लंबी देरी प्रतीत होती है।

मैंने इस ऐप पर लंबे समय तक ध्यान नहीं दिया है लेकिन संदेश की उपस्थिति स्पष्ट रूप से मैकोज़ परिवर्तन के लिए बकाया है। मुझे तुरंत सैंडबॉक्सिंग पर संदेह था, लेकिन ऐप के लिए सैंडबॉक्सिंग बंद कर दी गई थी। अगर मैं सैंडबॉक्सिंग चालू करता हूं और "उपयोगकर्ता द्वारा चुनी गई फ़ाइल" एंटाइटेलमेंट का अनुरोध करता हूं तो ऐसा कोई फर्क नहीं पड़ता है।

ऑब्जेक्ट निर्माण को छोड़कर यह एक @try ब्लॉक के अंदर किया जाता है के बारे में विशेष कुछ भी नहीं है:

@try { 
    // Create the File Open Dialog class. 
    openDialog_ = [NSOpenPanel openPanel]; // error occurs here 
} 
@catch (NSException *e){ 
    NSLog(@"innocuous exception(1) in -initForOpenWithDefaultFile:callBackTo:"); 
} 
@catch (NSString *s){ 
    NSLog(@"innocuous exception(2) in -initForOpenWithDefaultFile:callBackTo: \"%@\"", s); 
} 
@catch (...) { 
    NSLog(@"innocuous exception(3) in -initForOpenWithDefaultFile:callBackTo: probably a layout error"); 
} 
@finally { 
    ; 
} 

मैं नहीं AirDrop के साथ कार्यक्रम के भीतर से बुकमार्क के साथ कुछ भी कर रहा हूँ और न ही, उस बात के लिए,।

एक्सकोड 8.2.1, मैकबुक मैकोज़ 10.12.3।

+0

मैंने इसे अपने आवेदन में देखा जो क्यूटी का इस्तेमाल करता था, जब मैंने सिएरा और क्यूटी 5.8 में अपग्रेड किया था। मैंने माना था कि यह एक क्यूटी समस्या थी, लेकिन स्पष्ट रूप से यह नहीं है। मैं इसे समाधान के रूप में दावा नहीं कर रहा हूं, लेकिन ऐसा लगता है कि यह एयरड्रॉप नामक शीर्ष स्तर की निर्देशिका की तलाश में है, इसलिए मैंने एक बनाने के साथ प्रयोग किया। यह कम से कम चेतावनियों से छुटकारा पा लिया, और कोशिश कर रहा है कि यह एक उपयोगी प्रयोग हो सकता है। मुझे कोई स्पष्टीकरण नहीं मिला है कि एक फ़ाइल ओपन डायलॉग क्यों/एयरड्रॉप को देखना चाह सकता है, इसलिए मैं वास्तव में यहां कुछ अनुभव साझा कर रहा हूं। – KeithS

उत्तर

1

मेरे लिए, "आइटम (नल) के लिए बुकमार्क अपडेट करने में विफल" लॉन्च पर लॉग इन किया गया था जब मेरे ऐप की फ़ाइल> ओपन हालिया मेनू में मैंने खोले गए फ़ाइलों के लिए आइटम शामिल किए थे, फिर बाद में खोजक में हटा दिया गया। मुझे नहीं पता कि मेनू को निकालने के लिए मेनू प्राप्त करने का कोई तरीका है या नहीं, लेकिन मैंने अपना ऐप चलाने के दौरान फ़ाइल> ओपन हालिया> साफ़ मेनू चुनकर संदेशों से छुटकारा पा लिया।

मेरा ऐप NSDocument का उपयोग नहीं करता है। मैं हालिया उपयोग -noteNewRecentDocumentURL खोलने के लिए आइटम जोड़ रहा हूं।

संबंधित मुद्दे