UIDocumentInteractionController — Open In और दस्तावेज़

लेखक: IT Sectr प्रकाशित: 2026-07-11 पढ़ने का समय: 6 मिनट

UIDocumentInteractionController एक iOS नियंत्रक है जो दस्तावेज़ों का पूर्वावलोकन करने और ऐप्स के बीच फ़ाइलें साझा करने के लिए है। यह Open In सुविधा लागू करता है, जिससे उपयोगकर्ता किसी भी संगत ऐप में फ़ाइल खोल सकता है, ईमेल द्वारा भेज सकता है या क्लाउड स्टोरेज में सहेज सकता है। Apple Developer Documentation (2025) के अनुसार, नियंत्रक PDF, छवियों और ऑफिस दस्तावेज़ों को देखने के लिए अंतर्निहित Preview का भी समर्थन करता है।

मुख्य बिंदु

  • UIDocumentInteractionController — अन्य ऐप्स में दस्तावेज़ देखने और भेजने के लिए iOS नियंत्रक।
  • Preview — ऐप बदले बिना PDF, छवियों और ऑफिस दस्तावेज़ों के लिए अंतर्निहित दर्शक।
  • Open In — संपादन या देखने के लिए फ़ाइल को दूसरे ऐप में स्थानांतरित करने का कार्य।
  • UIDocumentInteractionControllerDelegate एनिमेशन, मेनू स्थिति और संचालन पूर्णता का प्रबंधन करता है।
  • UIDocumentPickerViewController के विपरीत, यह API फ़ाइलों का चयन नहीं करता बल्कि मौजूदा फ़ाइलों को स्थानांतरित करता है।

UIDocumentInteractionController क्या है?

UIDocumentInteractionController एक UIKit वर्ग है जो दस्तावेज़ों के साथ काम करने के लिए सिस्टम इंटरफ़ेस प्रदान करता है। UIDocumentPickerViewController के विपरीत, जो फ़ाइलों का चयन करता है, यह नियंत्रक ऐप की मौजूदा फ़ाइल के साथ काम करता है और उपयोगकर्ता को क्रियाएँ प्रदान करता है: पूर्वावलोकन, दूसरे ऐप में खोलना, प्रिंट करना या भेजना।

नियंत्रक ViewController नहीं है — इसे present के माध्यम से नहीं बुलाया जाता। इसके बजाय, यह presentOptionsMenu या presentPreview विधि के माध्यम से सिस्टम क्रिया मेनू प्रदर्शित करता है। मेनू दिए गए फ़ाइल प्रकार को संभालने के लिए पंजीकृत सभी ऐप्स दिखाता है।

UIDocumentInteractionController iOS 2.0 से उपलब्ध है और दस्तावेज़ों के साथ काम करने के लिए सबसे पुराने APIs में से एक है। अपनी उम्र के बावजूद, यह तृतीय-पक्ष लाइब्रेरी के बिना Open In सुविधा और अंतर्निहित पूर्वावलोकन को लागू करने के लिए प्रासंगिक बना हुआ है।

Preview मोड: अंतर्निहित दस्तावेज़ दर्शक

Preview UIDocumentInteractionController द्वारा प्रदान किया गया एक अंतर्निहित दस्तावेज़ दर्शक है। यह PDF, छवियों, टेक्स्ट फ़ाइलों और ऑफिस दस्तावेज़ों (.doc, .xls, .ppt सहित) का समर्थन करता है। Preview मानक Quick Look के समान संक्रमण एनिमेशन के साथ प्रदर्शित होता है।

Preview लॉन्च करने के लिए presentPreview विधि को कॉल करें। नियंत्रक को एक डेलीगेट चाहिए जो previewControllerForDocumentInteractionController विधि लागू करता है, जो दस्तावेज़ प्रदर्शित करने के लिए UIViewController लौटाता है। आमतौर पर self या नेविगेशन नियंत्रक लौटाया जाता है।

अंतर्निहित Preview अतिरिक्त फ्रेमवर्क या लाइसेंस की आवश्यकता नहीं है। यह किसी भी फ़ाइल के साथ काम करता है जिसका URL url प्रॉपर्टी को दिया गया है। उपयोगकर्ता PDF पृष्ठों को स्क्रॉल कर सकते हैं, छवियों को ज़ूम कर सकते हैं और दस्तावेज़ों से टेक्स्ट कॉपी कर सकते हैं।

Open In मोड: ऐप्स के बीच फ़ाइल स्थानांतरण

Open In UIDocumentInteractionController की मुख्य विशेषता है। यह उन ऐप्स की सूची प्रदर्शित करता है जो दिए गए फ़ाइल प्रकार को खोल सकते हैं। उपयोगकर्ता लक्ष्य ऐप चुनता है, और iOS फ़ाइल को उसके सैंडबॉक्स में कॉपी करता है, दस्तावेज़ के साथ काम करने के लिए ऐप लॉन्च करता है।

ऐप सूची अन्य ऐप्स के Info.plist में पंजीकृत Document Type प्रविष्टियों के आधार पर स्वचालित रूप से उत्पन्न होती है। यदि कोई ऐप PDF समर्थन पंजीकृत करता है, तो वह PDF फ़ाइलों के लिए Open In मेनू में दिखाई देगा। सिस्टम मानक क्रियाएँ भी दिखाता है: प्रिंट, ईमेल द्वारा भेजना, फ़ाइलों में सहेजना।

Open In फ़ाइल कॉपी करता है — लक्ष्य ऐप को अपनी प्रति मिलती है, इसलिए परिवर्तन मूल ऐप में वापस सहेजे नहीं जाते। यदि आपको सहेजने के साथ संपादन की आवश्यकता है, तो सुरक्षा-स्कोप्ड URL के साथ निर्यात मोड में UIDocumentPickerViewController का उपयोग करें।

विकल्प के रूप में UIActivityViewController

iOS 6 से, UIActivityViewController उपलब्ध है, जो फ़ाइल साझाकरण का भी समर्थन करता है। UIDocumentInteractionController के विपरीत, UIActivityViewController AirDrop, ईमेल, संदेश और कस्टम UIActivity के समर्थन के साथ सिस्टम गतिविधि शीट दिखाता है। सरल फ़ाइल साझाकरण के लिए, UIActivityViewController को अधिक आधुनिक API के रूप में अनुशंसित किया जाता है।

कोड उदाहरण: Swift में Open In

UIDocumentInteractionController के माध्यम से Open In का कार्यान्वयन कोड की कुछ पंक्तियाँ माँगता है: एक इंस्टेंस बनाएँ, URL और डेलीगेट सेट करें, presentOptionsMenu कॉल करें। नियंत्रक फ़ाइल प्रकार के आधार पर स्वचालित रूप से उपलब्ध ऐप्स की सूची एकत्र करता है।

swift
class DocumentViewController: UIViewController {

    lazy var interactionController = UIDocumentInteractionController()

    func shareFile(url: URL) {
        interactionController.url = url
        interactionController.uti = url.utiType()
        interactionController.delegate = self
        interactionController.presentOptionsMenu(
            from: self.view.bounds,
            in: self.view,
            animated: true
        )
    }
}

मेनू के बजाय Preview लॉन्च करना

Open In मेनू के बजाय अंतर्निहित दर्शक प्रदर्शित करने के लिए presentPreview विधि का उपयोग करें। नियंत्रक दस्तावेज़ को स्क्रॉल करने की क्षमता के साथ पूर्ण स्क्रीन दिखाएगा। डेलीगेट को previewControllerForDocumentInteractionController विधि लागू करनी चाहिए, जो प्रदर्शन के लिए UIViewController लौटाती है।

UIDocumentInteractionControllerDelegate और जीवनचक्र

UIDocumentInteractionControllerDelegate मेनू और Preview के प्रदर्शन और खारिज करने का प्रबंधन करता है। डेलीगेट वैकल्पिक विधियाँ लागू करता है: प्रकटन एनिमेशन के लिए documentInteractionControllerWillPresentOpenInMenu, मेनू खारिज होने के बाद संसाधन सफाई के लिए documentInteractionControllerDidDismissOpenInMenu

Preview के लिए एक महत्वपूर्ण विधि previewControllerForDocumentInteractionController है, जिसे दस्तावेज़ प्रदर्शित करने के लिए UIViewController लौटाना चाहिए। यदि विधि लागू नहीं की गई है या nil लौटाती है, तो Preview लॉन्च नहीं होगा। आमतौर पर self या self युक्त UINavigationController लौटाया जाता है।

नियंत्रक documentInteractionController:didEndSendingToApplication विधि का भी समर्थन करता है, जो किसी अन्य ऐप में फ़ाइल सफलतापूर्वक भेजने के बाद कॉल किया जाता है। यह अस्थायी फ़ाइलों को साफ करने या ऐप में वापस आने के बाद इंटरफ़ेस अपडेट करने की अनुमति देता है।

UIDocumentPickerViewController से अंतर

UIDocumentInteractionController और UIDocumentPickerViewController अलग-अलग कार्यों को हल करते हैं, हालाँकि दोनों दस्तावेज़ों के साथ काम करते हैं। मुख्य अंतर: UIDocumentInteractionController किसी मौजूदा फ़ाइल को दूसरे ऐप में स्थानांतरित करता है, जबकि UIDocumentPickerViewController वर्तमान ऐप के लिए बाहरी स्रोत से फ़ाइल का चयन करता है।

पैरामीटरUIDocumentInteractionControllerUIDocumentPickerViewController
उद्देश्यफ़ाइल दूसरे ऐप को भेजनादूसरे स्रोत से फ़ाइल चुनना
स्रोतऐप की अपनी फ़ाइलकोई भी स्टोरेज (iCloud, फ़ाइलें, तृतीय-पक्ष)
मोडप्राप्तकर्ता को फ़ाइल की प्रतिवर्तमान ऐप के लिए आयात या निर्यात
इंटरफ़ेससिस्टम मेनू (Action Sheet)पूर्ण फ़ाइल ब्राउज़र
वापसीपरिणाम नहीं लौटाताडेलीगेट के माध्यम से चयनित फ़ाइल का URL

UIDocumentInteractionController मूल संचालन के लिए डेलीगेट की आवश्यकता नहीं है — मेनू विधियों को लागू किए बिना भी प्रदर्शित होगा। डेलीगेट के बिना UIDocumentPickerViewController बेकार है — चयन परिणाम संसाधित नहीं किया जाएगा। API का चुनाव परिदृश्य पर निर्भर करता है: फ़ाइल भेजना → UIDocumentInteractionController, फ़ाइल प्राप्त करना → UIDocumentPickerViewController।

अक्सर पूछे जाने वाले प्रश्न

iOS में UIDocumentInteractionController क्या है?

UIDocumentInteractionController एक UIKit नियंत्रक है जो Open In सुविधा और अंतर्निहित Preview के माध्यम से दस्तावेज़ों का पूर्वावलोकन करने और ऐप्स के बीच फ़ाइलें स्थानांतरित करने के लिए है।

UIDocumentInteractionController का उपयोग करके दूसरे ऐप में फ़ाइल कैसे खोलें?

एक इंस्टेंस बनाएँ, लक्ष्य फ़ाइल पर url प्रॉपर्टी सेट करें, डेलीगेट निर्दिष्ट करें और presentOptionsMenu कॉल करें। सिस्टम दिए गए फ़ाइल प्रकार का समर्थन करने वाले ऐप्स की सूची दिखाएगा।

Preview, Quick Look से कैसे अलग है?

UIDocumentInteractionController Preview बुनियादी क्षमताओं वाला एकल दस्तावेज़ के लिए अंतर्निहित दर्शक है। Quick Look (QLPreviewController) बैच व्यूइंग, एक्सटेंशन और अतिरिक्त फ़ाइल प्रारूपों के समर्थन वाला एक अलग फ्रेमवर्क है।

क्या मुझे UIDocumentInteractionController के लिए डेलीगेट लागू करने की आवश्यकता है?

डेलीगेट मूल संचालन के लिए वैकल्पिक है — मेनू इसके बिना प्रदर्शित होगा। डेलीगेट केवल Preview (विधि previewControllerForDocumentInteractionController) और फ़ाइल भेजने की पूर्णता को ट्रैक करने के लिए अनिवार्य है।

UIDocumentInteractionController, UIDocumentPickerViewController से कैसे अलग है?

UIDocumentInteractionController ऐप से किसी मौजूदा फ़ाइल को दूसरे ऐप में भेजता है। UIDocumentPickerViewController बाहरी स्रोत से वर्तमान ऐप में फ़ाइल का चयन करता है। पहला भेजने के लिए, दूसरा प्राप्त करने के लिए।

सारांश

  • UIDocumentInteractionController — iOS 2.0 से उपलब्ध, ऐप्स के बीच फ़ाइलें देखने और भेजने के लिए iOS नियंत्रक।
  • Preview तृतीय-पक्ष लाइब्रेरी के बिना PDF, छवियों और ऑफिस दस्तावेज़ों के लिए अंतर्निहित दर्शक प्रदान करता है।
  • Open In फ़ाइल को चयनित ऐप के सैंडबॉक्स में कॉपी करता है — परिवर्तन मूल ऐप में वापस नहीं आते।
  • UIDocumentInteractionControllerDelegate डेलीगेट विधियों के माध्यम से एनिमेशन, मेनू स्थिति और भेजने की पूर्णता प्रबंधित करता है।
  • presentOptionsMenu दिए गए फ़ाइल प्रकार के लिए उपलब्ध ऐप्स के साथ सिस्टम मेनू प्रदर्शित करता है।
  • UIActivityViewController iOS 6 से फ़ाइल साझाकरण के लिए अधिक आधुनिक विकल्प है।
  • मुख्य अंतर UIDocumentPickerViewController से: पहला ऐप से फ़ाइल भेजता है, दूसरा ऐप में फ़ाइल चुनता है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें