Carthage Swift: पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

📦 Carthage Swift: विकेंद्रीकृत डिपेंडेंसी मैनेजर

Carthage Apple इकोसिस्टम (iOS, macOS, tvOS, watchOS) के लिए एक विकेंद्रीकृत डिपेंडेंसी मैनेजर है। CocoaPods के विपरीत, Carthage आपके प्रोजेक्ट को ऑटोमैटिकली मॉडिफाई नहीं करता - यह फ्रेमवर्क बनाता है, और आप उन्हें Xcode में खुद जोड़ते हैं। इससे बिल्ड प्रक्रिया पर पूरा नियंत्रण मिलता है और कोई "जादू" नहीं होता।

यह लाइब्रेरी Carthage (टूल का नाम) का उपयोग करती है और Cartfile के माध्यम से काम करती है - एक डिक्लेरेटिव फ़ाइल जिसमें डिपेंडेंसी लिस्टेड होती हैं। Carthage रिपॉजिटरी को क्लोन करता है, उन्हें बिल्ड करता है (xcodebuild का उपयोग करके) और तैयार .framework को Carthage/Build फोल्डर में रखता है। आप उन्हें मैन्युअली अपने प्रोजेक्ट में जोड़ते हैं।

Carthage की आवश्यकता क्यों? अगर आप पारदर्शिता चाहते हैं, वर्जन कॉन्फ्लिक्ट से बचना चाहते हैं, और यह पसंद नहीं करते कि टूल्स आपके प्रोजेक्ट को ऑटोमैटिकली बदलें। यह उन टीमों के लिए आदर्श है जहाँ हर कोई खुद तय करता है कि डिपेंडेंसी कैसे जोड़नी है, और सख्त सुरक्षा आवश्यकताओं वाले प्रोजेक्ट्स के लिए।


1. Carthage इंस्टॉलेशन

Carthage को Homebrew (अनुशंसित) के माध्यम से या GitHub से .pkg डाउनलोड करके इंस्टॉल किया जा सकता है।

सटीक इंस्टॉलेशन कमांड (macOS):
# Homebrew के माध्यम से इंस्टॉल करें
brew install carthage

# वर्जन चेक करें
carthage version

अगर Homebrew इंस्टॉल नहीं है, तो पहले इसे इंस्टॉल करें: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Linux या Windows के लिए Carthage आधिकारिक रूप से समर्थित नहीं है (केवल macOS)।


2. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण

एक नया Xcode प्रोजेक्ट बनाएँ (जैसे, Single View App)। फिर प्रोजेक्ट की रूट में Cartfile (बिना एक्सटेंशन) नामक फ़ाइल बनाएँ और डिपेंडेंसी जोड़ें:

# Cartfile
github "Alamofire/Alamofire" ~> 5.8

अब टर्मिनल में (प्रोजेक्ट फोल्डर से) यह कमांड चलाएँ:

carthage update --platform iOS

पूरा होने पर Carthage/Build/iOS फोल्डर में Alamofire.framework दिखाई देगा। Xcode खोलें, इस .framework को अपने टार्गेट के Frameworks, Libraries, and Embedded Content सेक्शन में ड्रैग करें। "Embed & Sign" चुनें।

अब लाइब्रेरी को इम्पोर्ट कर सकते हैं:

import Alamofire

// न्यूनतम रिक्वेस्ट
AF.request("https://api.github.com/users/defunkt").response { response in
    debugPrint(response)
}

हो गया! आपने Carthage के माध्यम से डिपेंडेंसी जोड़ ली है।


3. Carthage के मुख्य तरीके और फंक्शन

नीचे Carthage की प्रमुख कमांड और क्षमताएँ दी गई हैं। इनमें से अधिकांश टर्मिनल से चलाई जाती हैं।

🔹 1. carthage update

सिग्नेचर carthage update [--platform PLATFORM] [--configuration CONFIG] [--no-build] [--use-xcframeworks]

यह क्या करता है: Cartfile.resolved से सभी डिपेंडेंसी डाउनलोड और बिल्ड करता है (या नवीनतम वर्जन में अपडेट करता है अगर Cartfile.resolved मौजूद नहीं है)। Carthage/Build फोल्डर बनाता है।

# केवल iOS के लिए अपडेट करें, xcframeworks का उपयोग करें
carthage update --platform iOS --use-xcframeworks

🔹 2. carthage bootstrap

सिग्नेचर carthage bootstrap [--platform PLATFORM] [--configuration CONFIG] [--use-xcframeworks]

यह क्या करता है: मौजूदा Cartfile.resolved का उपयोग करके डिपेंडेंसी बिल्ड करता है (बिना वर्जन अपडेट किए)। CI/CD के लिए आदर्श - बिल्ड की पुनरावृत्ति सुनिश्चित करता है।

# Cartfile.resolved में बताए अनुसार सब कुछ रीबिल्ड करें
carthage bootstrap --platform macOS

अनुशंसाएँ