पहले जोड़े गए लाइब्रेरी को निकालें या अनइंस्टॉल करें: कोकोपोड्स


320

मैंने अपने iOS एप्लिकेशन में कोकोपोड्स के माध्यम से एक बाहरी ढांचा जोड़ा। मैं उस लाइब्रेरी को प्रोजेक्ट से कैसे निकाल सकता हूं?

जवाबों:


317

चूंकि काइल फुलर द्वारा लिखी गई स्क्रिप्ट द्वारा स्वीकृत उत्तर के साइड इफेक्ट्स को हटा दिया गया है - deintegrate , मैं उचित वर्कफ़्लो को यहां पोस्ट करूंगा:

  1. साफ स्थापित करें:

    $ sudo gem install cocoapods-clean
  2. प्रोजेक्ट के फ़ोल्डर में deintegrate चलाएँ:

    $ pod deintegrate

  3. स्वच्छ:

    $ pod clean

  4. अपनी पॉडफिल को संशोधित करें (उन पॉड्स के साथ लाइनों को हटाएं जिन्हें आप अब उपयोग नहीं करना चाहते हैं) और चलाएं:

    $ pod install

किया हुआ।


2
इस फली को स्वीकृत उत्तर होना चाहिए, क्योंकि यह पूरी तरह से अधिक है। हालांकि, इस वर्कफ़्लो का पालन करने से पहले, मैं प्रोजेक्ट की व्युत्पन्न डेटा निर्देशिका की सामग्री को साफ़ करने का सुझाव दूंगा, और मौजूदा कोड रिपॉजिटरी में प्रोजेक्ट के परिवर्तनों को सुनिश्चित करना चाहूंगा। अंत में, दौड़ने के बाद pod install, मैंने Xcode xcworkspace फ़ाइल खोली, बिल्ड फ़ोल्डर (alt + shift + कमांड + K) पर एक पूर्ण स्वच्छ प्रदर्शन किया, और चेतावनियाँ / लिंकर त्रुटियां चली गईं। पॉड्स को अब प्रोजेक्ट से सफलतापूर्वक अनइंस्टॉल कर दिया गया था।
मार्क बैरासो

@ नोट पर ध्यान दें: यह आदेश cocoapods-cleanहटाता है Podfileऔर.xcworkspace
सुहैब

6
लगता है अब pod deintegrateआधिकारिक है: guide.cocoapods.org/terminal/commands.html#pod_deintegrate इसकी कोई आवश्यकता नहीं है sudo gem install cocoapods-deintegrate
पेंग

4
मैं @ZinWinHtet से दूसरा, जब मैं कोशिश करता pod cleanहूं कि मुझे मिल जाए:$ pod clean [!] Unknown command: clean
स्कॉटीब्लडेस

2
हाँ ..., पॉड क्लीन अब मौजूद नहीं है, मुझे लगता है।
ज़िन विन हेटेट

455

Podfile से lib निकालें, फिर pod installफिर से।


9
जब मैं ऐसा करता हूं, तो मुझे XCode 5 में दर्जनों चेतावनियों के साथ छोड़ दिया जाता है और शिकायत करता है कि कार्यक्षेत्र हटाए गए फ़ाइलों को नहीं ढूंढ सकता है। मैंने इसे मैन्युअल रूप से साफ करने की कोशिश की है, लेकिन सफल नहीं हुआ है। आप सफाई से एक फली कैसे निकाल सकते हैं?
मैट मोम्ब्रे

8
फ़ाइंडर में पॉड फ़ाइल ढूंढें, फिर प्रत्येक पॉड्स को हटाएं (आप देखेंगे कि वे .h और .m फ़ाइलों को याद कर रहे हैं)। तब pod update। मेरे लिए यही काम किया।
AMayes

9
आपको चेतावनी भी मिलती है कि @MattMombrea का उल्लेख है यदि आपने पॉडफाइल्स को सफलतापूर्वक हटा दिया है, लेकिन परिवर्तन को प्रतिबद्ध नहीं किया है। सुनिश्चित करें कि सब कुछ कोड रिपॉजिटरी के लिए प्रतिबद्ध है।
ह्यूघघटोटेल

1
@Vrunoa का उल्लेख करने वाला लेख अब एक मृत कड़ी है। यह लेख मददगार है: stackoverflow.com/questions/16427421/…
Lain Rettig

2
मैं पॉडफाइल को अपडेट या इंस्टॉल किए बिना पॉड द्वारा स्थापित एक फ्रेम को हटाना चाहता हूं
आनंद प्रकाश

25
  1. अपने पॉडफाइल से लाइब्रेरी निकालें

  2. pod installटर्मिनल पर चलाएं


5

इनमें से किसी ने मेरे लिए काम नहीं किया। मेरे पास पॉड संस्करण 1.5.3 है और पॉडफाइल से उन पॉड्स को हटाने की सही विधि नहीं थी जो अब जरूरी नहीं थे और फिर चलाए गए:

pod update

यह आपकी पॉडफाइल से आपकी पॉडफाइल.लॉक फाइल को अपडेट करता है, हटाए गए पुस्तकालयों को हटाता है और आपके सभी पुस्तकालयों को अपडेट करता है।


1
आपको अपनी लाइब्रेरी के सभी पुस्तकालयों को अपडेट करने की आवश्यकता नहीं है (कुछ ऐसा जो बहुत खतरनाक हो सकता है) सिर्फ एक पुस्तकालय को हटाने के लिए। इस धागे में बहुत बेहतर तरीके हैं जिसमें आपकी पॉडफिल से फली निकालना और फिर दौड़ना शामिल हैpod install
ब्रैडेन होल्ट

यह आपके पुस्तकालयों के सभी संस्करणों को अपडेट करता है और स्वाभाविक रूप से उस को हटा देता है जो अब पॉडफाइल में मौजूद नहीं है, लेकिन क्या आप वास्तव में पुस्तकालयों को अपडेट करना चाहते हैं? फली निकालना और pod installसही तरीका है।
करीम मोर्टबिट

1
  1. पोडफाइल से पॉड नाम (जिसे हटाना है) निकालें और फिर
  2. टर्मिनल खोलें, प्रोजेक्ट फ़ोल्डर पथ सेट करें
  3. पॉड इंस्टॉल रन करें -कोई-एकीकृत

1
मुझे यह त्रुटि मिल रही है:[!] Unknown option: '--no-integrate'
neoneye 12

-1

Podfileतब से फली नाम निकालें , टर्मिनल खोलें, प्रोजेक्ट फ़ोल्डर पथ और रन pod updateकमांड सेट करें ।

नोट: pod updateसभी पुस्तकालयों को नवीनतम संस्करण में अद्यतन करेगा और उन पुस्तकालयों को भी हटा देगा जिनका नाम पॉडफाइल से हटा दिया गया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.