UIDocumentPickerViewController — یہ کیا ہے، iOS دستاویز کے ساتھ کام

مصنف: IT Sectr اشاعت: 2026-07-11 مطالعے کا وقت: 6 منٹ

UIDocumentPickerViewController فائل سسٹم، iCloud Drive اور تیسرے فرق کے کلاؤڈ سٹوریج سے دستاویز منتخب کرنے کے لیے ایک iOS سسٹم کنٹرولر ہے۔ یہ کنٹرولر کسی بھی قسم کی فائلوں کو کھولنے اور داخل کرنے کے لیے ایک متحد انٹرفیس فراہم کرتا ہے: تصویریں، PDF، متون اور آڈیو۔ Apple ڈیولپر ڈاکیومینٹیشن (2025) کے مطابق، UIDocumentPickerViewController import اور export موڈ کی حمایت کرتا ہے اور منتخب کردہ فائلوں کو ایک ڈیلیگیٹ کے ذریعے URL حوالے کے طور پر واپس کرتا ہے۔

اہم نکات

  • UIDocumentPickerViewController iOS میں کسی بھی ماخذ سے فائلیں منتخب کرنے کا ایک سسٹم دستاویز پکر ہے۔
  • Import mode فائل کو ایپ سینڈباکس میں کاپی کرتا ہے، export mode پڑھنے کے لیے URL فراہم کرتا ہے۔
  • UTI فلٹر ظاہر کردہ دستاویز کی اقسام کو محدود کرتے ہیں: PDF، تصویریں، متن اور دیگر۔
  • UIDocumentPickerDelegate انتخاب کے نتیجے اور فائل رسائی کی غلطیوں کو ہینڈل کرتا ہے۔
  • Multiple selection ایک سے زیادہ فائلیں منتخب کرنے کے لیے allowsMultipleSelection فلیگ کے ذریعے حمایت یافت ہے۔

UIDocumentPickerViewController کیا ہے؟

UIDocumentPickerViewController ایک UIKit کنٹرولر ہے جو دستاویز منتخب کرنے کے لیے ایک سسٹم انٹرفیس فراہم کرتا ہے۔ یہ UIKit فریم ورک کا ایک حصہ ہے اور iOS 8 سے دستیاب ہے۔ کنٹرولر ایک فائل براؤزر ظاہر کرتا ہے جس میں مقامی سٹوریج، iCloud Drive اور رجسٹر شدہ تیسرے فرق کی کلاؤڈ سروسس شامل ہیں۔

کنٹرولر غیر متضمن طور پر کام کرتا ہے: present کو کال کرنے کے بعد، صارف ایک سسٹم ڈائیلوگ دیکھتا ہے، ایک فائل منتخب کرتا ہے، اور نتیجہ ڈیلیگیٹ کے ذریعے واپس کیا جاتا ہے۔ ایپ کو منتخب کردہ فائل تک رسائی کے لیے خاص اجازت کی ضرورت نہیں ہے — سسٹم پکر خودکار طور پر URI تک عارضی رسائی فراہم کرتا ہے۔

UIDocumentPickerViewController UIPopoverPresentationController کے ذریعے iPad اور iPhone کے لیے ایک اڈاپٹو انٹرفیس کی حمایت کرتا ہے۔ iOS 14 سے، کنٹرولر نے ایک اپ ڈیٹ ڈیزائن اور iPadOS میں سائیڈبار نیویگیشن کی حمایت حاصل کی ہے۔

کام کے طریقے: import اور export

UIDocumentPickerViewController دو اہم موڈ میں کام کرتا ہے، ہر ایک یہ طے کرتا ہے کہ ایپ فائل تک کیسے رسائی حاصل کرتا ہے۔ موڈ کام کے مطابق forOpeningContentTypes یا forExporting پیرامیٹر کے ذریعے مقرر کیا جاتا ہے۔

Import mode (forOpeningContentTypes) منتخب کردہ فائل کو ایپ سینڈباکس میں کاپی کرتا ہے۔ ایپ فائل کی اپنی کاپی کا URL وصول کرتا ہے، جس تک صرف اسی رسائی ہو سکتی ہے۔ یہ ایک محفوظ موڈ ہے: دوسرے ایپ کی فائل میں ترمیم نہیں ہوتی، اور کاپی مکمل طور پر موجودہ ایپ کے اختیار میں ہوتی ہے۔

Export mode (forExporting) کاپی کیئے بغیر اصل فائل کا URL فراہم کرتا ہے۔ ایپ لنک کے ذریعے فائل پڑھ سکتا ہے، لیکن تبدیلیاں محفوظ نہیں ہوتیں۔ یہ موڈ اس وقت استعمال ہوتا ہے جب کسی دوسرے ایپ کو فائل منتقل کرنے یا ای میل کے ذریعے بھیجنے کی ضرورت ہو—۔ تبدیلیاں لکھنے کے لیے، scoped security-scoped URL کے ساتھ open موڈ استعمال ہوتا ہے۔

پکر کی ترتیب اور UTI فلٹرنگ

UTI (Uniform Type Identifier) Apple ایکوسسٹم میں مواد کی قسم کی شناخت کا نظام ہے۔ UIDocumentPickerViewController forOpeningContentTypes کے ذریعے پاس کی گئی UTI ایرے کے مطابق ظاہر کردہ فائلوں کو فلٹر کرتا ہے۔ اگر کوئی UTI متعین نہیں کی گئی، تو پکر سب فائل اقسام ظاہر کرتا ہے۔

  • PDF — com.adobe.pdf. پکر صرف PDF دستاویز ظاہر کرتا ہے۔
  • تصویریں — public.image. JPEG، PNG، HEIC اور دیگر فارمیٹ شامل ہیں۔
  • متن — public.plain-text. .txt، .csv اور دیگر متن فائلیں ظاہر کرتا ہے۔
  • آڈیو — public.audio. MP3، AAC، WAV اور Lossless فارمیٹ شامل ہیں۔
  • ویڈیو — public.movie. MP4، MOV، AVI اور دیگر ویڈیو فارمیٹ ظاہر کرتا ہے۔

ایک سے زیادہ اقسام منتخب کرنے کے لیے، ایک ایرے [UTType.pdf, UTType.image] پاس کی جاتی ہے۔ iOS 14 سے، Apple سٹرنگ کنسٹنٹ کے بجاے UTType استعمال کرنے کی سفارش کرتا ہے۔ UIDocumentPickerViewController منتخب کردہ فراہم کنندہ کے بدلنے پر ظاہر کردہ اقسام کی فہرست کو خودکار طور پر اپ ڈیٹ کرتا ہے۔

کوڈ کی مثال: Swift میں دستاویز کا انتخاب

نفاذ Swift میں UIDocumentPickerViewController کھام ہے: UTI اقسام کے ساتھ ایک کنٹرولر اینسٹنس تیار کریں، ڈیلیگیٹ مقرر کریں اور present کو کال کریں۔ فائل منتخب ہونے کے بعد، ڈیلیگیٹ didPickDocumentsAt میتھڈ میں URLs کی ایک ایرے وصول کرتا ہے۔ ہر URL ایک security-scoped حوالہ ہے جس کے لیے startAccessingSecurityScopedResource کو کال کرنا ضروری ہے۔

swift
let picker = UIDocumentPickerViewController(
    forOpeningContentTypes: [.pdf, .image],
    asCopy: true
)
picker.delegate = self
picker.allowsMultipleSelection = false
present(picker, animated: true)

// MARK: - UIDocumentPickerDelegate
func documentPicker(
    _ controller: UIDocumentPickerViewController,
    didPickDocumentsAt urls: [URL]
) {
    guard let url = urls.first else { return }
    url.startAccessingSecurityScopedResource()
    defer { url.stopAccessingSecurityScopedResource() }
    // url سے فائل پڑھیں
}

Security-Scoped وسائل

ایک security-scoped URL کو پڑھنے سے پہلے startAccessingSecurityScopedResource کو کال کرنے کی ضرورت ہے۔ یہ میتھڈ سسٹم کو آگاہ کرتا ہے کہ ایپ سینڈباکس کے باہر کی ایک فائل تک عارضی رسائی حاصل کر رہا ہے۔ مکمل کرنے کے بعد، ہمیشہ stopAccessingSecurityScopedResource کو کال کریں، ورنہ سسٹم رسائی کو مسدود کر سکتا ہے۔

UIDocumentPickerDelegate اور نتائج کی پروسیسنگ

UIDocumentPickerDelegate دو میتھڈ کے ذریعے فائل منتخب کرنے کے نتائج وصول کرتا ہے: کامیابی پر didPickDocumentsAt اور منسوخی پر didPickDocumentsAt۔ iOS خودکار طور پر منسوخی کے میتھڈ کو کال کرتا ہے اگر صارف بغیر انتخاب کیئے پکر کو بند کرتا ہے۔

غلطی کی پروسیسنگ میں URL کی دستیابی کی جانچ شامل ہے۔ اگر صارف نے iCloud Drive سے ایک فائل منتخب کی لیکن آلا آفلائن ہے، تو URL دستیاب نہیں ہو سکتا ہے۔ پڑھنے سے پہلے FileManager.default.isReadableFile کی جانچ کرنے اور صارف کو ایک واضح غلطی کا پیغام دکھانے کی سفارش کی جاتی ہے۔

iOS 14+ کے لیے، URLs کی ایک ایرے کے ساتھ ایک نیا میتھڈ documentPicker:didPickDocumentsAt دستیاب ہے۔ پرانا میتھڈ didPickDocumentAt (ایکل) فرسودہ ہے۔ ہمیشہ ایرے کو ہینڈل کریں، چاہے allowsMultipleSelection نااکتیو ہو — Apple ایک ہینڈلر استعمال کرنے کی سفارش کرتا ہے۔

iPad پر UIDocumentPickerViewController

iPad کو UIDocumentPickerViewController کی خاص ترتیب کی ضرورت ہے۔ iPad پر، پکر ایک popover کے طور پر ظاہر ہوتا ہے اور مناسب مقام کے لیے sourceView متعین کرنا ضروری ہے۔ sourceView کے بغیر، کنٹرولر iPadOS پر ایک استثناء کے ساتھ کراش کر سکتا ہے۔

popover کے لیے، popoverPresentationController کی خاصیت استعمال ہوتی ہے۔ اسے ایک بٹن یا ٹیبل سیل سے منسوخ کرنے کے لیے sourceView اور sourceRect متعین کریں۔ iPhone پر، اس کوڈ کا کوئی اثر نہیں ہے — iOS خودکار طور پر پکر کو فل سکرین دکھاتا ہے۔ iPadOS 16 سے، کنٹرولر بہتر نیویگیشن کے لیے سائیڈبار اور سپلٹ ویو کی حمایت کرتا ہے۔

UIDocumentPickerViewController کا اڈاپٹو ڈیزائن خودکار طور پر فل سکرین (iPhone) اور popover (iPad) کے درمیان سوئچ کرتا ہے۔ ڈیولپر کو مختلف آلات کے لیے علیحدہ کنٹرولرز نفاذ کرنے کی ضرورت نہیں ہے — iPad کے لیے popoverPresentationController کو صحیح طور پر ترتیب دینا کافی ہے۔

اکثر پوچے جانے والے سوالات

iOS میں UIDocumentPickerViewController کیا ہے؟

UIDocumentPickerViewController iCloud Drive، مقامی سٹوریج اور تیسرے فرق کی کلاؤڈ سروسس سے دستاویز منتخب کرنے کا ایک سسٹم UIKit کنٹرولر ہے۔ کنٹرولر ڈیلیگیٹ کے ذریعے منتخب کردہ فائل کا URL واپس کرتا ہے۔

UIDocumentPickerViewController کے ذریعے PDF کیسے منتخب کریں؟

forOpeningContentTypes: [.pdf] کے ساتھ ایک کنٹرولر تیار کریں۔ یہ ڈسپلے کو صرف PDF فائلوں تک محدود کرے گا۔ ڈیلیگیٹ مقرر کریں اور سسٹم پکر ظاہر کرنے کے لیے present کو کال کریں۔

import mode اور export mode میں کیا فرق ہے؟

Import mode فائل کو ایپ سینڈباکس میں کاپی کرتا ہے — تبدیلیاں اصل کو متاثر نہیں کرتیں۔ Export mode کاپی کیئے بغیر صرف پڑھنے کے لیے اصل فائل کا URL فراہم کرتا ہے۔

iOS میں security-scoped URL کیا ہے؟

Security-scoped URL ایپ سینڈباکس کے باہر کی فائل کا ایک حوالہ ہے۔ پڑھنے سے پہلے startAccessingSecurityScopedResource اور مکمل کرنے کے بعد stopAccessingSecurityScopedResource کو کال کریں۔

iPad کے لیے UIDocumentPickerViewController کیسے ترتیب دیں؟

sourceView اور sourceRect کے ساتھ popoverPresentationController ترتیب دیں۔ اس کے بغیر، کنٹرولر iPad پر استثناء پیدا کر سکتا ہے۔ iPhone پر، popover ترتیبات کو نظرانداز کیا جاتا ہے — پکر فل سکرین ظاہر ہوتا ہے۔

خلاصہ

  • UIDocumentPickerViewController iOS 8 سے دستیاب ایک دستاویز منتخب کرنے کا iOS سسٹم کنٹرولر ہے۔
  • Import mode فائل کو ایپ سینڈباکس میں کاپی کرتا ہے؛ export mode اصل تک صرف پڑھنے کی رسائی فراہم کرتا ہے۔
  • UTI فلٹرنگ فائل کی اقسام کو محدود کرتی ہے: PDF، تصویریں، متن، آڈیو، ویڈیو اور دیگر۔
  • UIDocumentPickerDelegate URLs کی ایرے کے ساتھ didPickDocumentsAt میتھڈ میں انتخاب کے نتیجے کو پروسیس کرتا ہے۔
  • Security-scoped URL کو فائل پڑھنے سے پہلے startAccessingSecurityScopedResource کو کال کرنے کی ضرورت ہے۔
  • iPad ترتیب میں مناسب ڈسپلے کے لیے sourceView کے ساتھ popoverPresentationController کا قیام شامل ہے۔
  • iOS 14+ نے ایک اپ ڈیٹ ڈیزائن، سائیڈبار اور سٹرنگ UTI کے بجاے UTType کی حمایت شامل کی۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

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

مزید پڑھیں