UIDocumentInteractionController एक iOS नियंत्रक है जो दस्तावेज़ों का पूर्वावलोकन करने और ऐप्स के बीच फ़ाइलें साझा करने के लिए है। यह Open In सुविधा लागू करता है, जिससे उपयोगकर्ता किसी भी संगत ऐप में फ़ाइल खोल सकता है, ईमेल द्वारा भेज सकता है या क्लाउड स्टोरेज में सहेज सकता है। Apple Developer Documentation (2025) के अनुसार, नियंत्रक PDF, छवियों और ऑफिस दस्तावेज़ों को देखने के लिए अंतर्निहित Preview का भी समर्थन करता है।
मुख्य बिंदु
UIDocumentInteractionController एक UIKit वर्ग है जो दस्तावेज़ों के साथ काम करने के लिए सिस्टम इंटरफ़ेस प्रदान करता है। UIDocumentPickerViewController के विपरीत, जो फ़ाइलों का चयन करता है, यह नियंत्रक ऐप की मौजूदा फ़ाइल के साथ काम करता है और उपयोगकर्ता को क्रियाएँ प्रदान करता है: पूर्वावलोकन, दूसरे ऐप में खोलना, प्रिंट करना या भेजना।
नियंत्रक ViewController नहीं है — इसे present के माध्यम से नहीं बुलाया जाता। इसके बजाय, यह presentOptionsMenu या presentPreview विधि के माध्यम से सिस्टम क्रिया मेनू प्रदर्शित करता है। मेनू दिए गए फ़ाइल प्रकार को संभालने के लिए पंजीकृत सभी ऐप्स दिखाता है।
UIDocumentInteractionController iOS 2.0 से उपलब्ध है और दस्तावेज़ों के साथ काम करने के लिए सबसे पुराने APIs में से एक है। अपनी उम्र के बावजूद, यह तृतीय-पक्ष लाइब्रेरी के बिना Open In सुविधा और अंतर्निहित पूर्वावलोकन को लागू करने के लिए प्रासंगिक बना हुआ है।
Preview UIDocumentInteractionController द्वारा प्रदान किया गया एक अंतर्निहित दस्तावेज़ दर्शक है। यह PDF, छवियों, टेक्स्ट फ़ाइलों और ऑफिस दस्तावेज़ों (.doc, .xls, .ppt सहित) का समर्थन करता है। Preview मानक Quick Look के समान संक्रमण एनिमेशन के साथ प्रदर्शित होता है।
Preview लॉन्च करने के लिए presentPreview विधि को कॉल करें। नियंत्रक को एक डेलीगेट चाहिए जो previewControllerForDocumentInteractionController विधि लागू करता है, जो दस्तावेज़ प्रदर्शित करने के लिए UIViewController लौटाता है। आमतौर पर self या नेविगेशन नियंत्रक लौटाया जाता है।
अंतर्निहित Preview अतिरिक्त फ्रेमवर्क या लाइसेंस की आवश्यकता नहीं है। यह किसी भी फ़ाइल के साथ काम करता है जिसका URL url प्रॉपर्टी को दिया गया है। उपयोगकर्ता PDF पृष्ठों को स्क्रॉल कर सकते हैं, छवियों को ज़ूम कर सकते हैं और दस्तावेज़ों से टेक्स्ट कॉपी कर सकते हैं।
Open In UIDocumentInteractionController की मुख्य विशेषता है। यह उन ऐप्स की सूची प्रदर्शित करता है जो दिए गए फ़ाइल प्रकार को खोल सकते हैं। उपयोगकर्ता लक्ष्य ऐप चुनता है, और iOS फ़ाइल को उसके सैंडबॉक्स में कॉपी करता है, दस्तावेज़ के साथ काम करने के लिए ऐप लॉन्च करता है।
ऐप सूची अन्य ऐप्स के Info.plist में पंजीकृत Document Type प्रविष्टियों के आधार पर स्वचालित रूप से उत्पन्न होती है। यदि कोई ऐप PDF समर्थन पंजीकृत करता है, तो वह PDF फ़ाइलों के लिए Open In मेनू में दिखाई देगा। सिस्टम मानक क्रियाएँ भी दिखाता है: प्रिंट, ईमेल द्वारा भेजना, फ़ाइलों में सहेजना।
Open In फ़ाइल कॉपी करता है — लक्ष्य ऐप को अपनी प्रति मिलती है, इसलिए परिवर्तन मूल ऐप में वापस सहेजे नहीं जाते। यदि आपको सहेजने के साथ संपादन की आवश्यकता है, तो सुरक्षा-स्कोप्ड URL के साथ निर्यात मोड में UIDocumentPickerViewController का उपयोग करें।
iOS 6 से, UIActivityViewController उपलब्ध है, जो फ़ाइल साझाकरण का भी समर्थन करता है। UIDocumentInteractionController के विपरीत, UIActivityViewController AirDrop, ईमेल, संदेश और कस्टम UIActivity के समर्थन के साथ सिस्टम गतिविधि शीट दिखाता है। सरल फ़ाइल साझाकरण के लिए, UIActivityViewController को अधिक आधुनिक API के रूप में अनुशंसित किया जाता है।
UIDocumentInteractionController के माध्यम से Open In का कार्यान्वयन कोड की कुछ पंक्तियाँ माँगता है: एक इंस्टेंस बनाएँ, URL और डेलीगेट सेट करें, presentOptionsMenu कॉल करें। नियंत्रक फ़ाइल प्रकार के आधार पर स्वचालित रूप से उपलब्ध ऐप्स की सूची एकत्र करता है।
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
)
}
}
Open In मेनू के बजाय अंतर्निहित दर्शक प्रदर्शित करने के लिए presentPreview विधि का उपयोग करें। नियंत्रक दस्तावेज़ को स्क्रॉल करने की क्षमता के साथ पूर्ण स्क्रीन दिखाएगा। डेलीगेट को previewControllerForDocumentInteractionController विधि लागू करनी चाहिए, जो प्रदर्शन के लिए UIViewController लौटाती है।
UIDocumentInteractionControllerDelegate मेनू और Preview के प्रदर्शन और खारिज करने का प्रबंधन करता है। डेलीगेट वैकल्पिक विधियाँ लागू करता है: प्रकटन एनिमेशन के लिए documentInteractionControllerWillPresentOpenInMenu, मेनू खारिज होने के बाद संसाधन सफाई के लिए documentInteractionControllerDidDismissOpenInMenu।
Preview के लिए एक महत्वपूर्ण विधि previewControllerForDocumentInteractionController है, जिसे दस्तावेज़ प्रदर्शित करने के लिए UIViewController लौटाना चाहिए। यदि विधि लागू नहीं की गई है या nil लौटाती है, तो Preview लॉन्च नहीं होगा। आमतौर पर self या self युक्त UINavigationController लौटाया जाता है।
नियंत्रक documentInteractionController:didEndSendingToApplication विधि का भी समर्थन करता है, जो किसी अन्य ऐप में फ़ाइल सफलतापूर्वक भेजने के बाद कॉल किया जाता है। यह अस्थायी फ़ाइलों को साफ करने या ऐप में वापस आने के बाद इंटरफ़ेस अपडेट करने की अनुमति देता है।
UIDocumentInteractionController और UIDocumentPickerViewController अलग-अलग कार्यों को हल करते हैं, हालाँकि दोनों दस्तावेज़ों के साथ काम करते हैं। मुख्य अंतर: UIDocumentInteractionController किसी मौजूदा फ़ाइल को दूसरे ऐप में स्थानांतरित करता है, जबकि UIDocumentPickerViewController वर्तमान ऐप के लिए बाहरी स्रोत से फ़ाइल का चयन करता है।
| पैरामीटर | UIDocumentInteractionController | UIDocumentPickerViewController |
|---|---|---|
| उद्देश्य | फ़ाइल दूसरे ऐप को भेजना | दूसरे स्रोत से फ़ाइल चुनना |
| स्रोत | ऐप की अपनी फ़ाइल | कोई भी स्टोरेज (iCloud, फ़ाइलें, तृतीय-पक्ष) |
| मोड | प्राप्तकर्ता को फ़ाइल की प्रति | वर्तमान ऐप के लिए आयात या निर्यात |
| इंटरफ़ेस | सिस्टम मेनू (Action Sheet) | पूर्ण फ़ाइल ब्राउज़र |
| वापसी | परिणाम नहीं लौटाता | डेलीगेट के माध्यम से चयनित फ़ाइल का URL |
UIDocumentInteractionController मूल संचालन के लिए डेलीगेट की आवश्यकता नहीं है — मेनू विधियों को लागू किए बिना भी प्रदर्शित होगा। डेलीगेट के बिना UIDocumentPickerViewController बेकार है — चयन परिणाम संसाधित नहीं किया जाएगा। API का चुनाव परिदृश्य पर निर्भर करता है: फ़ाइल भेजना → UIDocumentInteractionController, फ़ाइल प्राप्त करना → UIDocumentPickerViewController।
अक्सर पूछे जाने वाले प्रश्न
UIDocumentInteractionController एक UIKit नियंत्रक है जो Open In सुविधा और अंतर्निहित Preview के माध्यम से दस्तावेज़ों का पूर्वावलोकन करने और ऐप्स के बीच फ़ाइलें स्थानांतरित करने के लिए है।
एक इंस्टेंस बनाएँ, लक्ष्य फ़ाइल पर url प्रॉपर्टी सेट करें, डेलीगेट निर्दिष्ट करें और presentOptionsMenu कॉल करें। सिस्टम दिए गए फ़ाइल प्रकार का समर्थन करने वाले ऐप्स की सूची दिखाएगा।
UIDocumentInteractionController Preview बुनियादी क्षमताओं वाला एकल दस्तावेज़ के लिए अंतर्निहित दर्शक है। Quick Look (QLPreviewController) बैच व्यूइंग, एक्सटेंशन और अतिरिक्त फ़ाइल प्रारूपों के समर्थन वाला एक अलग फ्रेमवर्क है।
डेलीगेट मूल संचालन के लिए वैकल्पिक है — मेनू इसके बिना प्रदर्शित होगा। डेलीगेट केवल Preview (विधि previewControllerForDocumentInteractionController) और फ़ाइल भेजने की पूर्णता को ट्रैक करने के लिए अनिवार्य है।
UIDocumentInteractionController ऐप से किसी मौजूदा फ़ाइल को दूसरे ऐप में भेजता है। UIDocumentPickerViewController बाहरी स्रोत से वर्तमान ऐप में फ़ाइल का चयन करता है। पहला भेजने के लिए, दूसरा प्राप्त करने के लिए।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें