প্রকল্প সম্পর্কে

এই রিপোজিটরিতে অফিসিয়াল টেলিগ্রাম iOS সোর্স কোড এবং ডেভেলপারদের জন্য একটি বিস্তারিত কম্পাইলেশন গাইড রয়েছে, যারা টেলিগ্রাম প্ল্যাটফর্মে অ্যাপ্লিকেশন তৈরি করতে চান। ডেভেলপারদের জন্য প্রধান প্রয়োজনীয়তা: - টেলিগ্রাম থেকে একটি ব্যক্তিগত api_id সংগ্রহ করুন। - অনানুষ্ঠানিক অ্যাপের জন্য টেলিগ্রাম নাম বা স্ট্যান্ডার্ড লোগো ব্যবহার করা এড়িয়ে চলুন। - ব্যবহারকারীর ডেটা এবং গোপনীয়তা রক্ষার জন্য টেলিগ্রামের MTProto নিরাপত্তা নির্দেশিকা অনুসরণ করুন। - লাইসেন্স মেনে চলার জন্য ডেরিভেটিভ সোর্স কোড প্রকাশ করুন। দ্রুত কম্পাইলেশন গাইড: - রিকার্সিভভাবে রিপোজিটরি ক্লোন করুন। - Apple থেকে Xcode ইনস্টল করুন। - একটি র্যান্ডম অর্গানাইজেশন আইডেন্টিফায়ার তৈরি করুন এবং Keychain Access-এ Apple Development সার্টিফিকেটের Team ID খুঁজে বের করুন। - সংগৃহীত ডেটা দিয়ে build-system/template_minimal_development_configuration.json সম্পাদনা করুন। - Bazel ক্যাশিং এবং Xcode-পরিচালিত কোডসাইনিং ব্যবহার করে একটি Python বিল্ড স্ক্রিপ্ট (build-system/Make/Make.py) এর মাধ্যমে একটি Xcode প্রজেক্ট তৈরি করুন। উন্নত কম্পাইলেশন গাইড: - build-system/appstore-configuration.json কপি এবং সম্পাদনা করুন। - রেফারেন্স হিসেবে build-system/fake-codesigning ব্যবহার করে প্রভিশনিং প্রোফাইল সেট আপ করুন। - কাস্টম কোডসাইনিং তথ্য দিয়ে একটি Xcode প্রজেক্ট তৈরি করুন। - ডিস্ট্রিবিউশন প্রভিশনিং প্রোফাইল ব্যবহার করে release_arm64 এর জন্য একটি IPA বিল্ড করুন। সাধারণ প্রশ্ন ও টিপস: - Xcode build-request.json-এ আটকে যাওয়া এবং সিস্টেম রিস্টার্টের পরে অনুপস্থিত Bazel প্যাকেজের মতো সাধারণ সমস্যাগুলি সমাধান করে। - শুধুমাত্র সিমুলেটর বিল্ডে --disableProvisioningProfiles দিয়ে প্রভিশনিং প্রোফাইল এড়ানো যায়। - প্রতিটি রিলিজ versions.json-এ সংজ্ঞায়িত একটি নির্দিষ্ট Xcode সংস্করণকে লক্ষ্য করে; --overrideXcodeVersion দিয়ে সংস্করণ চেক ওভাররাইড করা যায়।