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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں