2012-04-15 13 views
6

मेरे आईओएस ऐप में, मेरे पास निम्न कोड है जिसका उपयोग एक सरल एनएसएसटींग एयरप्रिंटिंग के लिए किया जा रहा है।एयरप्रिंट कनेक्शन अस्वीकार त्रुटि

Simulated\032InkJet\[email protected]\032USER\032NAME\032iMac._ipp._tcp.local.: startJob: Unable to connect to printd: Connection refused 

मैं इस त्रुटि मिलती है:

#pragma mark - Print 
-(IBAction)print:(id)sender { 

    UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController]; 
    pic.delegate = self; 

    UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
    printInfo.outputType = UIPrintInfoOutputGeneral; 
    printInfo.jobName = @"Message"; 
    pic.printInfo = printInfo; 

    UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]initWithText:self.Message.text]; 
    textFormatter.startPage = 0; 
    textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins 
    textFormatter.maximumContentWidth = 6 * 72.0; 
    pic.printFormatter = textFormatter; 
    pic.showsPageRange = YES; 

    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = 
    ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { 
     if (!completed && error) { 
      NSLog(@"Printing could not complete because of error: %@", error); 
     } 
    }; 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 
     [pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler]; 
    } else { 
     [pic presentAnimated:YES completionHandler:completionHandler]; 
    } 
} 

जब मैं अपने प्रोजेक्ट को चलाने (यह परीक्षण करने के लिए), यह त्रुटि मैं आउटपुट डीबगर विंडो में मिलता है जब मैं UIPrintInteractionController पर "प्रिंट" नल है प्रिंट सिम्युलेटर का उपयोग कर आईओएस 5.1 सिम्युलेटर में। मुझे यह त्रुटि क्यों मिल रही है? मुझे लगता है कि मैं प्रिंट सिम्युलेटर का उपयोग कैसे कर रहा हूं इसके साथ मुझे यह महसूस करना है।

किसी भी मदद की सराहना की जाती है, और एक साइड नोट के रूप में, क्या किसी को पता है कि BarButtonItem के बजाय आईपैड पर सामान्य UIButton से UIPrintInteraction नियंत्रक को कैसे प्रदर्शित किया जाए?

संपादित करें: यह ध्यान दिया जाना चाहिए कि आईओएस 6.0+ में शेयर शीट्स का उपयोग करते समय एयरप्रिंट स्वचालित रूप से सेटअप हो जाता है।

उत्तर

11

मैं ठीक उसी समस्या और मूल रूप से कीमा के जवाब समस्या का समाधान हो चुका था। हालांकि मुझे पहले कुछ हुप्स से कूदना पड़ा। आखिरकार यह फ़ाइल अनुमतियों की समस्या का कुछ प्रकार था।

मैं निम्नलिखित (ध्यान दें, व्यवस्थापक पहुंच आवश्यक है) था:

  1. टर्मिनल खोलें और फ़ोल्डर में/निजी/var/tmp/

  2. प्रकार 'Whoami' अपने सटीक देखने के लिए नेविगेट उपयोगकर्ता नाम।

  3. मान लें कि आपका उपयोगकर्ता नाम 'dogtest' है। टाइप करें 'सूडो चाउन dogtest: व्यवस्थापक printd'। आपको एक चेतावनी मिलेगी जो मूल रूप से आपको यह सुनिश्चित करने के लिए कहती है कि आप जानते हैं कि आप क्या कर रहे हैं।

  4. अपना व्यवस्थापक पासवर्ड दर्ज करें और एंटर दबाएं।

  5. अब आपके पास प्रिंट की गई फाइल का स्वामित्व है और आप जो भी चाहते हैं वह कर सकते हैं। 'Mv printd printd-ren' टाइप करके फ़ाइल को किसी अन्य चीज़ का नाम बदलें।

  6. ओपन आईओएस सिम्युलेटर और प्रिंटर सिम्युलेटर।

  7. आईओएस सिम्युलेटर में ओपन सफारी और किसी भी वेबपृष्ठ पर जाएं।

  8. नीचे के केंद्र में साझा करें बटन टैप करें और प्रिंट चुनें।

  9. प्रिंट को पूरा करने के लिए संकेतों का पालन करें। आपको प्रिंटर सिम्युलेटर लॉग विंडो में बहुत अधिक गतिविधि देखना चाहिए। इस बिंदु पर printd फ़ाइल को आपके खाते की अनुमतियों के साथ पुनर्निर्मित किया जाता है (यह अच्छा है)।

  10. आईओएस सिम्युलेटर और प्रिंटर सिम्युलेटर दोनों को छोड़ें।

  11. सिम्युलेटर में अपने आईओएस ऐप को दोबारा दोबारा दोबारा शुरू करें और फिर प्रिंटर सिम्युलेटर को दोबारा खोलें।

  12. अब आप अपने ऐप से एयर प्रिंट अनुकरण करने में सक्षम होना चाहिए और प्रिंट-आउट पीडीएफ के रूप में पूर्वावलोकन में खुल जाएगा।

मुझे आशा है कि यह आपके लिए समस्या हल करे या कम से कम आपको सही दिशा में इंगित करे। सौभाग्य।

+0

काम करता है। कृपया कमांड 'सीडी/निजी/var/tmp /' – Hassy

3

निकालने का प्रयास करें

/निजी/var/tmp/printd

+0

जो मेरे लिए काम करता है, उसे अभी भी सूडो की आवश्यकता है। मेरे मामले में, यह किसी अन्य उपयोगकर्ता के स्वामित्व में था, इसलिए इसे मारना और सभी सिम्स/एक्सकोड को पुनरारंभ करना फिर कोशिश कर रहा था। – Jason

2

मेरे पास प्रिंटर सिम्युलेटर मेरे लिए काम करना बंद कर दिया और मुझे कोई त्रुटि नहीं दी गई। मैंने विभिन्न सिमुलेटर की कोशिश की, उन्हें रीसेट कर दिया, कंप्यूटर को पुनरारंभ किया, ऊपर वर्णित प्रिंटड की हत्या कर दी, और अन्य चीजें भी।

अंत में, मेरे नेटवर्क कनेक्शन को बदलने के लिए यह तय किया गया था: उस समय, मेरे पास वाईफाई प्लस एक ईथरनेट केबल (थंडरबॉल्ट के माध्यम से) मेरी मैकबुक से जुड़ा हुआ था - वाईफाई + ईथरनेट दोनों एक ही नेटवर्क से जुड़े थे। मैं ईथरनेट केबल बाहर popped और तुरंत यह फिर से काम करना शुरू कर दिया।

धन्यवाद ऐप्पल, मैं अपना 20 मिनट वापस कहां प्राप्त कर सकता हूं :)

+0

का उपयोग करें धन्यवाद! इससे मुझे 2.5 साल बाद मदद मिली। :) –

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