Xcode 4 में अपग्रेड करने के बाद दिखाई जा रही फ़ाइल चेतावनी को मिस करना


166

मैंने हाल ही में Xcode 4 में अपग्रेड किया था (जो एक बहुत अच्छा अपग्रेड है) लेकिन अब मुझे कुछ चेतावनियाँ मिल रही हैं जो मुझे पहले नहीं मिली थीं। मैंने फ़ोरम और अन्य एसओ पदों के माध्यम से देखा है, लेकिन इसे ठीक करने के तरीके के बारे में नहीं आया है।

मुझे मिलने वाली चेतावनियाँ एक लापता फ़ाइल के लिए परियोजना स्तर की चेतावनी हैं। जो फाइलें दिखाई जा रही हैं, उन्हें प्रोजेक्ट नेविगेटर व्यू (फाइल सिस्टम से डिलीट करने का विकल्प) से हटा दिया गया है। हालाँकि यह अभी भी किसी भी तरह परियोजना से जुड़ा हुआ दिखाई दे रहा है, भले ही वह फ़ाइल अब प्रोजेक्ट नेविगेटर में दिखाई न दे।

मैंने चारों ओर देखा है और नहीं पाया है कि मैं Xcode को कैसे बता सकता हूं कि ये फाइलें चली गई हैं, मुझे चेतावनी देना बंद करें। यहाँ एक स्क्रीनशॉट है जो मुझे Xcode4 में मिलता है, लेकिन Xcode 3 में कभी नहीं मिला।

गुम फ़ाइल चेतावनी Xcode 4


अगर मैं आप होता तो मैं हमेशा आपकी डिस्क पर एक लिंक रखने के बजाय आपकी फाइलों को अपनी परियोजना में आयात करता। यदि आप फ़ाइलों को बाद में स्थानांतरित करते हैं तो यह वास्तव में आपको सिरदर्द से बचाता है।
सूदो आरएम -rf

जवाबों:


297

ये उपाय वैसे भी बहुत कठिन हैं। समस्या यह है कि आपने फ़ाइल सिस्टम से प्रोजेक्ट को हटा दिया है, लेकिन एसवीएन को अभी भी लगता है कि वे वहां हैं। SVN से डिटेलिंग प्रोजेक्ट काम करेगा, जिसे हटाने के लिए वही है। svn फोल्डर BUT जो आपकी रिपॉजिटरी को नष्ट करने वाला है!

कंसोल को खोलना, अपने फ़ोल्डर में ब्राउज़ करना बहुत आसान है ("cd / pathToYourFolder") और निम्न टाइप करें:

svn delete nameOfMissingFile

यदि आपकी अनुपलब्ध फ़ाइल का नाम @ वर्ण (जैसे: रेटिना-विशिष्ट कलाकृति) शामिल है, तो सुनिश्चित करें कि फ़ाइल का नाम @ प्रतीक के साथ समाप्त होता है:

svn delete nameOfMissingFile@2x.png@

जीआईटी रिपॉजिटरी के लिए:

git rm nameOfMissingFile


20
मेरे पास एक ही मुद्दा था और टर्मिनल का उपयोग करके इसे हल किया:svn rm --force nameOfMissingFile
रीचवेस्ट

1
यह सही के रूप में चिह्नित एक से बेहतर उत्तर है। एसवीएन नियंत्रण के तहत एक परियोजना से एसवीएन फ़ोल्डर्स को हटाना दर्द की पूरी दुनिया हो सकती है। समस्या को हल करने के लिए एसवीएन का उपयोग करना सबसे अच्छा है। मैंने अपनी समस्या को हल करने के लिए इस उत्तर का पालन किया, हालांकि मेरे पास आधारशिला की विलासिता थी। लेकिन अन्यथा शांत। धन्यवाद :)
jowie

1
यह मेरे लिए काम नहीं कर रहा है। मैं फ़ाइल को वापस जोड़ूंगा, और फिर इसे हटा दूंगा, लेकिन बिल्ड में अभी भी वही चेतावनी दिखाई देती है। मैंने प्रोजेक्ट में फ़ाइलों को वापस जोड़ने और फिर उन्हें हटाने की भी कोशिश की। अभी भी वही समस्या है।
येनी

10
यह मेरे लिए काम करता है, लेकिन मुझे पहली बार एक डमी फाइल बनानी थी, इससे पहले कि मैं svn का उपयोग कर सकूं। तो आपको nameOfMissingFile को टच करना होगा और फिर svn delete nameOfMissingFile --force
Maciej Swic

9
मुझे समस्या को दूर करने के लिए अतिरिक्त रूप से एक्सकोड को छोड़ना और मारना पड़ा।
ट्विलाइट

55

XCode 4.2 में। + (संभवतः 4+ में) आप मैनुअल काम और कमांड लाइन से बच सकते हैं:

  1. प्रोजेक्ट प्रोजेक्ट नेविगेटर (कमांड - 1) चुनें
  2. फ़ाइल चुनें - स्रोत नियंत्रण - कमिट मेनू
  3. बाएं फलक में, इसके ऊपर आपके तीन आइकन हैं, मध्य एक का चयन करें - फ़ाइल दृश्य
  4. आपको सभी गुम फाइलों की सूची दिखाई देगी
  5. उन सभी का चयन करें और राइट-क्लिक करें - परिवर्तनों को त्यागें। यह SVN सर्वर से सभी हटाई गई फ़ाइलों को पुनर्स्थापित करेगा और उन्हें आपके स्थानीय SVN फ़ोल्डर में रखेगा
  6. उन फ़ाइलों को XCode प्रोजेक्ट में खींचें और छोड़ें (आसानी से उन्हें खोजने के लिए फाइंडर में क्रमबद्ध-संशोधित चुनें)
  7. XCode के माध्यम से उन फ़ाइलों को ठीक से हटाएं (फ़ाइलों का चयन करें और हटाएँ पर राइट-क्लिक करें)
  8. प्रोजेक्ट को कमिट करें

और बस :)

उन सभी बुरा चेतावनी चले गए हैं!

इसके अतिरिक्त Xcode 6+ के लिए: फ़ाइल दृश्य 'मध्य आइकन' का चयन करने के बाद - आप चेकबॉक्स को बाईं ओर क्लिक कर सकते हैं और यह आपको अगली बार कमिट करने पर SVN के लिए हटाए गए के रूप में चिह्नित करेगा!


1
केवल चरण 5 तक की आवश्यकता है। मेरे पास वास्तव में एसवीएन में फाइलें नहीं थीं।
डैरेन रीली

मैंने एक परियोजना को फिर से शुरू किया था, जिसने कुछ साझा कोड के दूसरे प्रोजेक्ट कॉस को प्रभावित किया था, और XCode को लापता फाइलों के बारे में शिकायत थी, एसवीएन से संबंधित। परियोजना स्रोत xml के माध्यम से मैन्युअल रूप से trawling और कुछ भी नहीं खोजने के बाद मुझे यह जानने के लिए एक SVN मुद्दा था, ले लिया।
डैनफोर्डहम

50

Xcode5 और Xcode6 में, नीचे दिए गए चरणों ने मेरे लिए काम किया

Xcode-> Preferences-> Source Control->uncheck Enable Source Control

फिर

Xcode-> Preferences-> Source Control->check Enable Source Control


Xcode 8.3.2 पर, इसने लगभग दस मिनट तक काम किया और फिर सभी चेतावनी वापस आ गईं :(
बॉब

27

यह आपके प्रोजेक्ट में छिपे हुए फोल्डर के साथ कुछ करने के लिए है।

मैं svn से परियोजना को अलग करके इस मुद्दे को हल किया।

ए। टर्मिनल खोलें और निम्न कमांड टाइप करें:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

यह आपको अपने प्रोजेक्ट के अंदर .svn फोल्डर को देखने की अनुमति देगा

ख। अपने प्रोजेक्ट फ़ोल्डर / सबफ़ोल्डर में प्रत्येक .svn फ़ोल्डर को हटाएं

सी। छिपी हुई फ़ाइलों को पुनः सक्षम करें:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

घ। अब आपका प्रोजेक्ट svn से अलग हो गया है और अब आपको बिल्ड मुद्दे नहीं मिलेंगे।

इ। अपने प्रोजेक्ट को svn या जो भी हो फिर से जोड़ें।

मैं खुद एक शुरुआत हूं और यह उस मुद्दे से निपटने का मेरा तरीका था, इसलिए मुझे यकीन नहीं है कि यह जाने का सबसे अच्छा तरीका है। वैसे भी, समस्या हल हो गई थी।


3
एसवीएन छिपे हुए फ़ोल्डरों और फाइलों के साथ खिलवाड़ करने के लिए एक अच्छा विचार नहीं है, आप एसवीएन की उलझी गड़बड़ी को समाप्त कर सकते हैं। लापता फ़ाइलों को साफ करने के लिए svn डिलीट कमांड का उपयोग करना सबसे अच्छा है।
jowie

यह वह रास्ता है जिसे मैंने वास्तव में लिया है। हाँ, यह सभी सहेजे गए SVN सूचनाओं को हटा देता है, लेकिन यह वास्तव में कुछ और था जिसे किसी विशेष परियोजना में रखा गया था जिसे मैं नहीं रखना चाहता था। मैं नए सिरे से शुरुआत करना चाहता था और विशेष संस्करण को बनाए रखने की परवाह नहीं करता था।
स्कॉट

मैं इसे रीलॉन्च करके सिर्फ "किलॉल फाइंडर" कर रहा हूं। समस्या अब दूर हो गई है। धन्यवाद
JHHoang

9

यह मेरे लिए काम किया:

File-> Source Control->Hide Working Copy Status

फिर

File-> Source Control->Show Working Copy Status


6

मैंने इसे निम्न तरीके से हल किया:

  1. लापता फ़ाइल के लिए पथ की जाँच करें।
  2. अपने प्रोजेक्ट डायरेक्टरी के भीतर उपयुक्त स्थानों पर गुम फ़ाइलें बनाएँ
  3. "प्रोजेक्ट में फ़ाइलें जोड़ें" "का उपयोग करके उन्हें अपनी परियोजना में जोड़ें और केवल संदर्भ बनाएं (फ़ाइलों की प्रतिलिपि न बनाएं):
  4. इस बिंदु पर चेतावनी गायब हो जानी चाहिए।
  5. Xcode के भीतर से यह सुनिश्चित करने के लिए कि आप "केवल संदर्भ हटाएं" के बजाय "हटाएं" पर क्लिक करके फाइलें हटाएं।
  6. हो गया।

4

मेरे पास वह बग था और उस स्थिति पर एक खाली फ़ाइल बनाने के अलावा इसे हल करने का कोई तरीका नहीं मिला और फिर इसे हटा दिया गया। यह उन फाइलों के साथ हुआ था, जिन्हें मैंने परियोजना से हटा दिया था, और सफाई, निर्माण, मैन्युअल रूप से हटाए गए डेटा निर्देशिका को हटाने से काम नहीं किया। मेरा मानना ​​है कि यह एक बग है, और यह काफी दर्दनाक हो सकता है अगर यह कुछ फाइलों से अधिक के साथ होता है।


दुखी, उम्मीद कर रहा था कि इस मुद्दे के आसपास एक आसान तरीका था। मेरे पास लगभग 20 फाइलें हैं, इसलिए निर्माण करना तब काफी कष्टकारी होगा।
स्कॉट

4

मुझे भी यह समस्या थी, और जैसा कि user151215 ने .svn फ़ोल्डरों के कारण IS का वर्णन किया है।

मेरे पास एक पुराना .svn फोल्डर था, प्रोजेक्ट में ही नहीं बल्कि प्रोजेक्ट्स पैरेंट फोल्डर में।

अपमानजनक .svn फ़ोल्डर में एक प्रविष्टि फ़ाइल होगी जिसमें आपकी गुम फ़ाइलें हैं। तो आप Teminal का उपयोग कर सकते हैं और एक लापता फ़ाइल नाम स्ट्रिंग की खोज कर सकते हैं, जैसे grep -lir BagController.m yourRootDevDir / *

खोजक में छिपी फ़ाइलों को सक्षम करने की तुलना में सरल, बस टर्मिनल का उपयोग करें। cd को प्रासंगिक निर्देशिका, और mv .svn ~ / .Trash

उम्मीद है की यह मदद करेगा!



3

मैंने tha समस्या से निपटने के लिए निम्नलिखित तरीके का उपयोग किया:

टर्मिनल और सीडी को प्रोजेक्ट डायरेक्टरी में लॉन्च करें। (उदा: cd /Users/Mauro/Src/Pippero-1.2//)

फिर निम्न कमांड दर्ज करें:

find . -name .svn -exec rm -rf { } \;

कमांड पुनः .svn नामक फाइलों (और फोल्डर) की खोज करेगा और उन्हें हटा देगा


यह मेरे लिए काम नहीं करता था, लेकिन प्रत्येक निर्देशिका में जा रहा था और अलग-अलग .svn फ़ोल्डरों को हटा रहा था। मेरे लिए इतना बड़ा अप, मेरे आदमी!
गोन्जोब्रैन्स

3

Xcode में SVN को डिसेबल करना इन मुद्दों को रोकता है (यह मानकर कि आप अपने रिपॉजिटरी को दूसरे SVN टूल के साथ प्रबंधित कर रहे हैं)। इस प्रश्न को देखें:

क्या आप Xcode 4 में संस्करण नियंत्रण एकीकरण को अक्षम कर सकते हैं?

जाहिर है, यह व्यावहारिक नहीं हो सकता है यदि अन्य Xcode परियोजनाएं हैं जिनके साथ आप SVN का उपयोग करना चाहते हैं।


2

मैं svn का उपयोग कर रहा हूं और इस समस्या को हल करने का प्रबंधन कर रहा हूं

svn delete pathToMissingFile

जो लापता फ़ाइल की स्थानीय svn प्रतिलिपि और साथ ही दूरस्थ रिपॉजिटरी में प्रतिलिपि को हटाने जा रहा है।

या

svn revert pathToMissingFile

जो अनुपलब्ध फ़ाइल पर परिवर्तनों को छोड़ने जा रहा है, जिसका अर्थ है कि लापता फ़ाइल को वापस उसी स्थान पर रखना जहाँ वह थी।


1

उपरोक्त सभी ने मेरे पास उसी तरह के मुद्दे को हल करने के लिए काम नहीं किया। कुछ खोज करते हुए, मैं समझ गया कि मेरे पास जो मुद्दा था वह एसवीएन संघर्षों से संबंधित था।

मुझे पता चला कि कमांड लाइन का उपयोग करते हुए संघर्ष थे:

svn status

फिर सभी विवादित फाइलों को हल करना पड़ा

svn resolved filename1 filename2 ...

एक बार संघर्षों का समाधान हो जाने के बाद, चेतावनी Xcode से चली गई थी


1
  1. अपने परिवर्तनों को कमिट करें और आगे बढ़ाएं।
  2. Xcode पुनरारंभ करें।


0

निर्माण के बाद Cmd + 7 दबाएँ और नवीनतम बिल्ड कार्रवाई का चयन करें। क्या यह अच्छे पुराने Xcode की तरह दिखता है? :) यहां छवि विवरण दर्ज करें


हां, यह पुराने XCode की तरह दिखता है, लेकिन यह नए XCode के साथ इस समस्या को हल नहीं करता है कि मेरे पास फाइलें गुम हैं। मुझे यह दृश्य पसंद है, लेकिन ऐसा लगता है कि यह सिर्फ XCode के साथ समस्या का सामना कर रहा है।
स्कॉट

0

मेरे मामले में

  1. मैं बस SvnX खोलता हूं।
  2. सभी अनुपलब्ध फ़ाइलें लाल रंग में चिह्नित हैं। उन्हें चुनें और हटाएं।
  3. फिर सभी Xcode चेतावनियाँ चली गईं।

0

एलेक्स के जवाब ने गुम फाइलों के बारे में मेरी बात तय कर दी।

मुझे एक और समस्या थी (हालाँकि यह लापता फाइलों से संबंधित नहीं है, मुझे लगता है कि यह बेहतर विषय होगा)

  1. मुझे अपनी परियोजना में छवियों के एक सेट की प्रतिलिपि बनाने की आवश्यकता थी।
  2. मैंने बस एक समूह बनाया (हालांकि मुझे पता है कि समूह भौतिक फ़ोल्डर में मैप नहीं करता है) और छवियों को समूह में चुना गया ("कॉपी टू .." विकल्प चुना गया)।
  3. एसवीएन स्थिति ने उन सभी को "ए" में दिखाया।
  4. अब जब मैं वास्तविक फाइल सिस्टम में गया, तो मैंने पाया कि सभी चित्र जहां मेरे प्रोजेक्ट के रूट फ़ोल्डर में कॉपी किए गए थे। जैसा कि यह अच्छी तरह से नहीं दिखता है, मैंने अपनी परियोजना में छवियों के फ़ोल्डर के अंदर एक भौतिक फ़ोल्डर बनाया और वहां सभी जोड़े गए चित्रों को कॉपी किया।
  5. एसवीएन ने तब सभी फाइलों को लाल रंग में दिखाया।
  6. मैंने सभी लाल फ़ाइलों के संदर्भ हटा दिए।
  7. "फ़ाइल जोड़ें" विकल्प के साथ, मैंने फिर नए बनाए गए फ़ोल्डर से चित्र जोड़े।
  8. अब एसवीएन फाइलों की स्थिति को "ए" के रूप में दिखाने में विफल रहता है, और किसी भी तरह से मैं उन्हें जांच नहीं सकता।
  9. कई चरणों की कोशिश की जैसे कि उन्हें एक अलग फ़ोल्डर आदि से फिर से जोड़ना, लेकिन कोई भाग्य नहीं था।

मैंने इसे सीधे रिपॉजिटरी में जाकर तय किया, छवियों के तहत एक नई निर्देशिका बनाएं ताकि भौतिक फ़ोल्डर अब SVN सर्वर में हो

मैंने तब स्रोत का अपडेट लिया, और मेरी वर्किंग कॉपी के अंदर नई बनाई गई निर्देशिका को प्राप्त किया (हालांकि इसे प्रोजेक्ट में नहीं जोड़ा गया है)।

मैंने तब छवियों को उस निर्देशिका में कॉपी किया और उन्हें "फ़ाइल जोड़ें" विकल्प का उपयोग करके प्रोजेक्ट में जोड़ा, जिससे मुझे "ए" स्थिति वापस मिल गई और मैं फाइलों में जांच करने में सक्षम था।

बस इसे साझा करना चाहता था ..... क्योंकि इसमें मुझे बहुत समय लगा।

-anoop


इस मामले में, टर्मिनल पर जाएं और अपनी परियोजना की जड़ में। "Svn mkdir name_of_the_folder" के साथ फ़ोल्डर बनाएँ। अपने प्रोजेक्ट में name_of_the_folder से फाइंडर के साथ ड्रैग एंड ड्रॉप करें (या सभी फाइलों को जोड़ने के लिए इसे स्वयं फोल्डर करें)। समस्या यह है कि जब आप "svn mkdir" फ़ोल्डर के बिना फ़ोल्डर बनाते हैं तो SVN में जोड़ा नहीं जाता है।
एलेक्स

0

फ़ाइल को सीधे अपने .xcode फ़ोल्डर में न हटाएं। Xcode प्रोजेक्ट नेविगेटर से फ़ाइलें हटाएं। (उस फ़ाइल पर राइट क्लिक करें और कचरा करने के लिए कदम चुनें)।

अब, इस समस्या को दूर करने के लिए एक ही स्थान पर एक ही फाइल जोड़ें। और प्रोजेक्ट नेविगेटर से हटा दें।


0

मुझे कुछ करना नहीं था। मैंने अपना कोड प्रतिबद्ध किया और इसे आगे बढ़ाया। XCODE को बंद कर दिया। यह फिर से नीचे खींच लिया और सब कुछ बस काम किया।


0

अवलोकन:

मेरे मामले Sampleमें निम्नलिखित फ़ोल्डर पथ में एक xcode प्रोजेक्ट था/folder1/folder2

.gitअंदर एक फाइल थी/folder1/folder2/Sample/ जो अपेक्षित है।

मूल कारण:

.gitमूल निर्देशिका ( /folder1) में एक और फ़ाइल थी जो समस्या का कारण बन रही थी। हो सकता है कि फोल्डर को पीछे छोड़ दिया गया हो.git फ़ाइल के

उपाय

rm -rf /folder1/.git

संकेत

यदि आपकी परियोजना को पूरी तरह से नए स्थान पर ले जाना उस समस्या को ठीक करता है जहां .gitपदानुक्रम में मूल निर्देशिका में कोई फ़ाइल नहीं थी , तो यह एक सुराग है कि उपरोक्त समाधान काम कर सकता है।

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