2013-01-31 20 views
12

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

मुझे आश्चर्य है, क्या यह बताने का कोई तरीका है कि एक्सकोड में कौन सी क्लास फाइलों का उपयोग किया जा रहा है? या अप्रयुक्त फ़ाइलों को कैसे ढूंढें इस पर कोई सुझाव?

उत्तर

11

इस तरह की कोई कार्यक्षमता नहीं है जैसे कि एक्सकोड में बनाया गया है, लेकिन अप्रयुक्त कक्षाओं/फ़ाइलों आदि का मुद्दा उतना आसान नहीं है जितना कोई सोच सकता है।

लोगों ने अप्रयुक्त फ़ाइलों को आजमाने और निर्धारित करने के लिए स्क्रिप्ट बनाई हैं। मैंने script located here का उपयोग किया है, जो आपकी सभी स्रोत फ़ाइलों के माध्यम से खोज करता है, और संसाधन फ़ाइलों को जोड़ने का प्रयास करता है। स्क्रिप्ट भी आपकी परियोजना के भीतर शामिल स्रोत फ़ाइलों की जांच करने का प्रयास करती है।

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

मुझे नहीं पता कि आपका आवेदन कितना बड़ा है, लेकिन आप निर्भरता ग्राफ का प्रयास कर सकते हैं, और अनाथ वर्गों की जांच कर सकते हैं। कुछ और जानकारी पर this blog post देखें।

+1

यह अच्छा होगा अगर Xcode ने ऐसा करने के लिए कुछ फ़ंक्शन में बनाया था। आपके द्वारा लिखे गए लिंक को बहुत उपयोगी है, धन्यवाद। – JDx

0

भी देखें इस शेल स्क्रिप्ट http://mfaizanshaikh.wordpress.com/2012/12/17/how-to-remove-unused-images-from-xcode-project/

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

#!/bin/sh 
PROJ=`find . -name '*.xib' -o -name '*.[mh]'` 

for png in `find . -name '*.png'` 
do 
    name=`basename $png` 
    if ! grep -q $name $PROJ; then 
     echo "$png is not referenced" 
    fi 
done 
+0

मैं अपनी बदमाशता के लिए क्षमा चाहता हूं, लेकिन वास्तविक प्रश्न के साथ इसका क्या संबंध है? क्या आपने इसे पढ़ा? – pyRabbit

+1

प्रश्नों का अंतिम भाग अप्रयुक्त फ़ाइलों को खोजने के लिए किसी भी सुझाव के लिए पूछता है। यह अप्रयुक्त छवि फ़ाइलों को खोजने में संबोधित होता है। यह सवाल का पूरा जवाब नहीं है, लेकिन शुरुआत से "यह भी देखें ..." मुझे नहीं लगता कि वह इसका पूरा जवाब मानने का इरादा रखता है, केवल कुछ अतिरिक्त उपयोगी जानकारी। –

4

JetBrains से AppCode आईडीई कुछ बहुत ही सभ्य कोड निरीक्षण कार्य करती है। यह अप्रयुक्त वर्गों और अन्य संसाधनों को इंगित कर सकता है, और पूरी तरह से एक्सकोड संगत होने का दावा करता है।

+0

और वे इसके लिए स्विफ्ट समर्थन पर काम कर रहे हैं। –

5

उपयोगी टूल देखें। अप्रयुक्त संसाधनों के लिए एक्सकोड परियोजनाओं की जांच के लिए एक मैक ऐप http://jeffhodnett.github.io/Unused/

+0

इस ऐप ने कहा कि मेरी प्रोजेक्ट में प्रत्येक छवि फ़ाइल का उपयोग नहीं किया जा रहा था और किसी भी क्लास फाइल को नहीं दिखाया गया था जिसका इस्तेमाल नहीं किया जा रहा था। अनुपयोगी। – Michael

3

यह टूल अप्रयुक्त आयात/कक्षाएं पाता है: fui

README पृष्ठ से:

अप्रयुक्त Objective-C आयात का पता लगाएं।

+0

वही चेतावनी .... इस परियोजना पर जिथब में कोई समर्थन या उचित दस्तावेज नहीं मिला – jailani

0

मार्टियनक्राफ्ट द्वारा स्लेण्डर नामक एक ऐप है जो संभावित रूप से अप्रयुक्त छवियों का सुझाव देने के लिए अच्छा है।

http://martiancraft.com/products/slender.html

मुझे विश्वास है कि फौक्स पास वर्ग फ़ाइलों के लिए कुछ ऐसा ही है, लेकिन मैं जाँच करेगा। वह ऐप अप्रयुक्त विधियों, अनुवादों और संसाधनों की भी तलाश करता है।

http://fauxpasapp.com/rules/#rule-UnusedResource

मैं हाल ही में या तो ऐप्लिकेशन उपयोग नहीं किया है, लेकिन दोनों पहले से प्रभावित किया जा रहा है याद कर सकते हैं।