iCloud Drive: এটি কী, Apple ক্লাউড স্টোরেজ এবং এটি কীভাবে কাজ করে

লেখক: IT Sectr প্রকাশিত: 2026-07-11 পড়ার সময়: 6 মিনিট

iCloud Drive হল Apple-এর ক্লাউড ফাইল স্টোরেজ যা iOS, macOS এবং iPadOS-এ নির্মিত, ব্যবহারকারীর ডিভাইসগুলির মধ্যে ডকুমেন্ট সিঙ্ক্রোনাইজ করার জন্য। Apple, 2024-এর মতে, iCloud Drive ফাইল সংরক্ষণ এবং স্বয়ংক্রিয় সিঙ্ক্রোনাইজেশনের জন্য CloudKit-কে ব্যাকএন্ড হিসেবে ব্যবহার করে: iPhone-এ করা পরিবর্তনগুলি ব্যবহারকারীর কোনো পদক্ষেপ ছাড়াই Mac এবং iPad-তে তৎক্ষণাৎ প্রতিফলিত হয়। ডেভেলপাররা NSDocumentPickerViewController এবং Ubiquity API-এর মাধ্যমে অ্যাপ্লিকেশনগুলিতে iCloud Drive সংহত করতে পারেন।

মূল বিষয়

  • iCloud Drive হল Apple-এর ক্লাউড স্টোরেজ যা ডিভাইসগুলির মধ্যে ফাইল সিঙ্ক করে
  • CloudKit হল iCloud-এর ব্যাকএন্ড যা ডেটা স্টোরেজ এবং সিঙ্ক্রোনাইজেশন প্রদান করে
  • Ubiquity কন্টেইনার হল অ্যাপ্লিকেশনের সিঙ্ক করা ফাইল সংরক্ষণের জন্য একটি বিশেষ ডিরেক্টরি
  • NSDocumentPickerViewController হল iCloud ফাইল আমদানি এবং রপ্তানির জন্য সিস্টেম কন্ট্রোলার
  • সংস্করণ দ্বন্দ্ব NSFileVersion-এর মাধ্যমে দ্বন্দ্ব সৃষ্টিকারী কপি তৈরি করে স্বয়ংক্রিয়ভাবে সমাধান করা হয়

iOS-এ iCloud Drive কী?

iCloud Drive হল Apple-এর ক্লাউড ফাইল পরিষেবা যা একই Apple ID দিয়ে অনুমোদিত সমস্ত ব্যবহারকারী ডিভাইসের জন্য একটি ইউনিফাইড ডকুমেন্ট স্টোরেজ প্রদান করে। পরিষেবাটি 2014 সালে iOS 8 এবং OS X Yosemite-এর সাথে iCloud Documents-এর প্রতিস্থাপন হিসাবে চালু হয়েছিল।

iCloud Drive অন্যান্য ক্লাউড স্টোরেজ পরিষেবা (Google Drive, Dropbox) থেকে অপারেটিং সিস্টেমের সাথে গভীর সংহতকরণের দ্বারা আলাদা: ফাইলগুলি macOS-এ Finder এবং iOS-এ ফাইল অ্যাপে সরাসরি প্রদর্শিত হয়, কোনো অতিরিক্ত অ্যাপ ইনস্টল করার প্রয়োজন ছাড়াই। সিস্টেম স্বয়ংক্রিয়ভাবে ব্যাকগ্রাউন্ডে সামগ্রী সিঙ্ক্রোনাইজ করে, Wi-Fi এবং সেলুলার নেটওয়ার্কের মধ্যে সুইচ করে।

Apple Platform Overview, 2024 অনুসারে, iCloud Drive 30 দিন পর্যন্ত ফাইল ভার্শনিং, iCloud Sharing-এর মাধ্যমে ফোল্ডার শেয়ারিং এবং Spotlight সিস্টেম সার্চের সাথে সংহতকরণ সমর্থন করে। ডেভেলপাররা NSFileCoordinator API এবং Ubiquity কন্টেইনারের মাধ্যমে স্টোরেজ অ্যাক্সেস করে।

iCloud Drive আর্কিটেকচার এবং Ubiquity

Ubiquity হল Apple-এর একটি শব্দ যার অর্থ ডেটার “সর্বত্র উপস্থিত” থাকার ক্ষমতা। iCloud Drive-এর প্রসঙ্গে, এটি একটি প্রক্রিয়া যা ফাইলগুলিকে CloudKit ক্লাউড ব্যাকএন্ডের মাধ্যমে ব্যবহারকারীর সমস্ত ডিভাইসে স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করতে দেয়।

উপাদানবিবরণভূমিকা
Ubiquity কন্টেইনারঅ্যাপ্লিকেশনের বিশেষ ডিরেক্টরিসিঙ্ক্রোনাইজেশনের জন্য ফাইল সংরক্ষণ করে
CloudKitApple ব্যাকএন্ড পরিষেবাস্টোরেজ এবং সিঙ্ক্রোনাইজেশন প্রদান করে
NSMetadataQueryসিস্টেম কোয়েরিUbiquity ফাইলের অবস্থা ট্র্যাক করে
NSFileVersionসংস্করণ ব্যবস্থাপনাপরিবর্তন দ্বন্দ্ব সমাধান করে

Ubiquity কন্টেইনার হল অ্যাপ্লিকেশনের স্যান্ডবক্সের ভিতরে একটি ডিরেক্টরি যা সিঙ্ক্রোনাইজেশনের জন্য চিহ্নিত। এই ডিরেক্টরিতে রাখা ফাইলগুলি স্বয়ংক্রিয়ভাবে iCloud Drive-এ আপলোড হয় এবং অন্যান্য ডিভাইসে বিতরণ করা হয়। কন্টেইনারে অ্যাক্সেস Xcode-এ Capabilities-এর মাধ্যমে কনফিগার করা হয়।

সিস্টেম NSMetadataQuery-এর মাধ্যমে প্রতিটি ফাইলের অবস্থা ট্র্যাক করে: একটি ফাইল লোকাল (ডিভাইসে ডাউনলোড করা), রিমোট (শুধুমাত্র ক্লাউডে), বা ডাউনলোড হচ্ছে হতে পারে। ডেভেলপার প্রোগ্রাম্যাটিকভাবে ফাইল ডাউনলোডের অনুরোধ করতে পারে বা খোলার আগে এর উপলব্ধতা পরীক্ষা করতে পারে।

অ্যাপ্লিকেশনে iCloud Drive সংহত করা

iCloud Drive-এর সংহতকরণ Xcode-এ iCloud ক্যাপাবিলিটি যোগ করা এবং iCloud Documents পরিষেবা সক্ষম করার মাধ্যমে শুরু হয়। এর পরে, অ্যাপ্লিকেশন Ubiquity কন্টেইনারে অ্যাক্সেস পায়, যা একটি বিশেষ ডিরেক্টরি যার পথ FileManager-এর মাধ্যমে ফেরত দেওয়া হয়।

swift
import UIKit

class DocumentManager {
    func ubiquityURL() -> URL? {
        return FileManager.default
            .url(forUbiquityContainer: nil)
    }

    func saveToICloud(data: Data, filename: String) {
        guard let containerURL = ubiquityURL() else { return }
        let fileURL = containerURL
            .appendingPathComponent(filename)

        do {
            try data.write(to: fileURL)
            Logger.storage.info(
                "Saved \(filename) to iCloud Drive"
            )
        } catch {
            Logger.storage.error(
                "Save failed: \(error.localizedDescription)"
            )
        }
    }

    func listICloudFiles() {
        let query = NSMetadataQuery()
        query.searchScopes = [NSMetadataQueryUbiquitousDocumentsScope]
        query.start()
    }
}

NSDocumentPickerViewController iCloud Drive থেকে ফাইল নির্বাচন এবং আমদানির জন্য একটি সিস্টেম UI প্রদান করে। ব্যবহারকারী সার্চ, সর্টিং এবং মাল্টি-সিলেকশনের সমর্থন সহ একটি স্ট্যান্ডার্ড ফাইল ব্রাউজার দেখে। ফাইল নির্বাচনের পরে, অ্যাপ্লিকেশন তার URL পায় এবং NSFileCoordinator-এর মাধ্যমে এটি নিয়ে কাজ করতে পারে।

গুরুত্বপূর্ণ নিয়ম: iCloud Drive ফাইলের সাথে কাজ করার সময়, পড়া এবং লেখার জন্য NSFileCoordinator ব্যবহার করা আবশ্যক। এটি নিশ্চিত করে যে অপারেশনের সময় ফাইলটি অন্য প্রক্রিয়া (যেমন সিঙ্ক্রোনাইজেশন) দ্বারা পরিবর্তিত না হয়। সমন্বয়ের অবহেলা ডেটা দূষণের কারণ হতে পারে।

দ্বন্দ্ব সমাধান এবং NSFileVersion

সংস্করণ দ্বন্দ্ব ঘটে যখন সিঙ্ক্রোনাইজেশন সম্পূর্ণ হওয়ার আগে একটি ফাইল দুটি ডিভাইসে একই সাথে পরিবর্তিত হয়। iOS স্বয়ংক্রিয়ভাবে NSFileVersion-এর মাধ্যমে এই ধরনের পরিস্থিতি সনাক্ত করে এবং দ্বন্দ্ব সৃষ্টিকারী সংস্করণ তৈরি করে যা ব্যবহারকারী বা অ্যাপ্লিকেশনকে সমাধান করতে হবে।

swift
func resolveConflicts(for fileURL: URL) {
    let conflictVersions = NSFileVersion
        .unresolvedConflictVersionsOfItem(at: fileURL) ?? []

    for version in conflictVersions {
        do {
            let conflictData = try Data(contentsOf: version.url)
            let resolved = mergeData(
                original: try Data(contentsOf: fileURL),
                conflict: conflictData
            )
            try resolved.write(to: fileURL)
            version.remove()
        } catch {
            Logger.sync.error(
                "Conflict resolution failed: \(error)"
            )
        }
    }
}

NSFileVersion ফাইল পরিবর্তনের ইতিহাস 30 দিন পর্যন্ত সংরক্ষণ করে। প্রতিটি সংস্করণে URL, তৈরি করার তারিখ এবং সংস্করণ তৈরি করা ডিভাইসের শনাক্তকারী থাকে। সিস্টেম স্বয়ংক্রিয়ভাবে সংস্করণগুলিকে দ্বন্দ্ব সৃষ্টিকারী হিসাবে চিহ্নিত করে যখন দুটি ডিভাইস একই বেস শনাক্তকারীর সাথে পরিবর্তন পাঠায়।

সমাধানের কৌশল: অ্যাপ্লিকেশন স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি মার্জ করতে পারে (সমর্থিত ফর্ম্যাটের জন্য), ব্যবহারকারীকে একটি সংস্করণ পছন্দ দেখাতে পারে, বা শেষ-লেখক-জয়ী (last-writer-wins) কৌশল ব্যবহার করতে পারে। Apple টেক্সট এবং স্ট্রাকচার্ড ডেটার জন্য স্বয়ংক্রিয় মার্জিং এবং বাইনারি ফর্ম্যাটের জন্য ব্যবহারকারীকে দ্বন্দ্ব সৃষ্টিকারী সংস্করণ দেখানোর সুপারিশ করে।

স্টোরেজ সীমা এবং অপ্টিমাইজেশন

ফ্রি স্টোরেজ iCloud-এ 5 GB, যা সমস্ত ব্যবহারকারী পরিষেবা: ব্যাকআপ, ফটো, মেইল এবং iCloud Drive-এর মধ্যে বিতরণ করা হয়। পেইড প্ল্যান 50 GB থেকে শুরু হয় এবং 12 TB পর্যন্ত যায়। নিবিড় ফাইল বিনিময় সহ অ্যাপ্লিকেশনগুলির জন্য, এই সীমাগুলি বিবেচনায় নেওয়া গুরুত্বপূর্ণ।

স্টোরেজ অপ্টিমাইজেশন: iOS একটি ফাইল ইভিকশন মেকানিজম প্রদান করে—যখন লোকাল স্পেস শেষ হয়ে যায়, সিস্টেম iCloud Drive ফাইলগুলির ক্যাশেড কপি সরিয়ে ফেলতে পারে, শুধুমাত্র মেটাডেটা রেখে। এই ধরনের ফাইল খোলার চেষ্টা করলে, সিস্টেম স্বয়ংক্রিয়ভাবে এটি ক্লাউড থেকে ডাউনলোড করে। ডেভেলপার NSFileCoordinator-এর মাধ্যমে এই প্রক্রিয়া নিয়ন্ত্রণ করতে পারে এবং NSMetadataUbiquitousItemDownloadingStatusKey-এর মাধ্যমে ফাইলের অবস্থা পরীক্ষা করতে পারে।

WWDC 2022 অনুসারে, Apple iCloud Drive অপ্টিমাইজ করার জন্য নিম্নলিখিত অনুশীলনের সুপারিশ করে: Ubiquity কন্টেইনারে শুধুমাত্র ব্যবহারকারীর ডকুমেন্ট সংরক্ষণ করুন, অ্যাপ ক্যাশে নয়; অগ্রগতি নির্দেশ সহ অ্যাসিঙ্ক্রোনাস ডাউনলোড ব্যবহার করুন; ডাউনলোডের আগে ব্যবহারকারীকে ফাইলের আকার সম্পর্কে তথ্য প্রদান করুন; বড় ফাইলের জন্য পুনরায় শুরু সমর্থন বাস্তবায়ন করুন।

মূল সূক্ষ্মতা: Ubiquity কন্টেইনার থেকে একটি ফাইল মুছে ফেলা ব্যবহারকারীর সমস্ত ডিভাইস থেকে এটি সরিয়ে দেয়। অস্থায়ী ফাইলের জন্য, Ubiquity কন্টেইনারের পরিবর্তে লোকাল Documents ডিরেক্টরি ব্যবহার করুন। এছাড়াও মনে রাখবেন সিঙ্ক্রোনাইজেশন তাৎক্ষণিক নয়—ফাইলের আকার এবং নেটওয়ার্কের উপর নির্ভর করে বিলম্ব কয়েক সেকেন্ড থেকে মিনিট পর্যন্ত হতে পারে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

iCloud Drive কী?

iCloud Drive হল Apple-এর ক্লাউড ফাইল স্টোরেজ যা iPhone, iPad, Mac এবং PC-এর মধ্যে ডকুমেন্ট সিঙ্ক্রোনাইজ করে। এটি Finder এবং ফাইল অ্যাপে সংহত, যা আপনাকে অতিরিক্ত অ্যাপ ছাড়াই ডকুমেন্ট নিয়ে কাজ করতে দেয়।

iCloud Drive কীভাবে ফাইল সিঙ্ক্রোনাইজ করে?

সিঙ্ক্রোনাইজেশন CloudKit-এর মাধ্যমে কাজ করে: অ্যাপ্লিকেশনের Ubiquity কন্টেইনার থেকে ফাইলগুলি স্বয়ংক্রিয়ভাবে ক্লাউডে আপলোড হয় এবং ব্যবহারকারীর অন্যান্য ডিভাইসে বিতরণ করা হয়। সিস্টেম অবস্থা ট্র্যাক করতে NSMetadataQuery এবং নিরাপদ অ্যাক্সেসের জন্য NSFileCoordinator ব্যবহার করে।

অ্যাপ্লিকেশনে iCloud Drive কীভাবে সংহত করবেন?

Xcode-এ iCloud ক্যাপাবিলিটি যোগ করুন, iCloud Documents পরিষেবা সক্ষম করুন এবং সিঙ্ক্রোনাইজড ডিরেক্টরির পথ পেতে FileManager.url(forUbiquityContainer:) ব্যবহার করুন। ফাইল নির্বাচনের জন্য NSDocumentPickerViewController ব্যবহার করুন।

iCloud Drive-এ সংস্করণ দ্বন্দ্ব হলে কী করবেন?

iOS দ্বন্দ্ব সৃষ্টিকারী সংস্করণ NSFileVersion-এর মাধ্যমে তৈরি করে। ডেভেলপার স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি মার্জ করতে পারে বা ব্যবহারকারীকে একটি পছন্দ দেখাতে পারে। সিস্টেম 30 দিন পর্যন্ত সংস্করণ সংরক্ষণ করে এবং যখন বিভিন্ন ডিভাইস থেকে একই সাথে পরিবর্তন ঘটে তখন স্বয়ংক্রিয়ভাবে দ্বন্দ্ব চিহ্নিত করে।

iCloud Drive-এর সীমাগুলি কী কী?

ফ্রি স্টোরেজ সমস্ত iCloud পরিষেবা জুড়ে 5 GB। পেইড প্ল্যান: 50 GB, 200 GB, 2 TB, 6 TB এবং 12 TB। বড় ফাইলের জন্য, পুনরায় শুরু সমর্থন বাস্তবায়ন করুন এবং লেখার আগে উপলব্ধ স্থান পরীক্ষা করুন।

সারসংক্ষেপ

  • iCloud Drive হল Apple-এর ক্লাউড স্টোরেজ যা CloudKit-এর মাধ্যমে ডিভাইসগুলির মধ্যে স্বয়ংক্রিয় সিঙ্ক্রোনাইজেশন সহ
  • Ubiquity কন্টেইনার সিঙ্ক্রোনাইজড ফাইল সংরক্ষণের জন্য একটি বিশেষ অ্যাপ্লিকেশন ডিরেক্টরি
  • NSMetadataQuery iCloud Drive ফাইলগুলির ডাউনলোড অবস্থা এবং উপলব্ধতা ট্র্যাক করে
  • NSFileCoordinator সিঙ্ক্রোনাইজড ফাইলের নিরাপদ পড়া এবং লেখার জন্য বাধ্যতামূলক
  • সংস্করণ দ্বন্দ্ব স্বয়ংক্রিয়ভাবে সনাক্ত করা হয় এবং NSFileVersion-এর মাধ্যমে সমাধান প্রয়োজন
  • অপ্টিমাইজেশন অব্যবহৃত ফাইল ইভিকশন এবং অগ্রগতি সহ অ্যাসিঙ্ক্রোনাস ডাউনলোড অন্তর্ভুক্ত
  • ফ্রি সীমা 5 GB—বড় ভলিউমের জন্য পেইড iCloud+ প্ল্যান প্রয়োজন

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন