Xcode 4 के साथ ऐप बनाएं - यह हमेशा PNG इमेज के बारे में कुछ एरर दिखाता है


88

जब मैं Xcode 4 के साथ अपना ऐप बनाता हूं तो यह हमेशा यह त्रुटि संदेश दिखाता है:

CopyPNGFile /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png Images/list_cell.png
    cd /Volumes/WORK/Works/iMusicBox
    setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    "/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng" -compress "" /Volumes/WORK/Works/iMusicBox/Images/list_cell.png /Users/michaelchen/Library/Developer/Xcode/DerivedData/iMusicBox-boeawugacmhacbdtyymnprzfobyq/ArchiveIntermediates/iMusicBox/InstallationBuildProductsLocation/Applications/iMusicBox.app/list_cell.png

/Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush में अल्फ़ाज़ की जाँच करते समय libpng त्रुटि पकड़ी गई: पर्याप्त छवि डेटा नहीं

लेकिन यह Xcode 3.2 के साथ ठीक है - क्यों?

जवाबों:


191

मिल गया!!

आपको अपनी PNG फ़ाइलों को इंटरलाक के रूप में सहेजना होगा । फ़ोटोशॉप (या समान) में फ़ाइल खोलने की कोशिश करें, जैसा कि सहेजें, और "नॉट इंटरलेस्ड" चुनें।

यह मेरे मामले में काम कर रहा है

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


ईवा, आप सही कह रहे हैं, धन्यवाद! मैं पिक्सेलमैटर में वेब से निर्यात करता हूं और यह ठीक है।
माइकल चेन

6
आदमी! भगवान का शुक्र है! और आप! मैं अपनी बेवकूफी भरे लैपटॉप को फेंकने के लिए छत पर जाने वाला था जब मैंने यह जवाब देखा और यह काम कर गया। बहुत बहुत धन्यवाद। मुझे लगता है कि अब सोने का समय है।
साहिल चौधरी

7
मेरे मामले में यह पता चला है कि मेरे पास Xcode में एक ही फाइल के कई संदर्भ थे (इसका मतलब यह था कि यह फाइल को एक से अधिक बार संसाधित करने की कोशिश की?) डुप्लिकेट संदर्भ को हटाकर समस्या को हटा दिया गया।
पीटर जॉनसन

मैंने अपने पीएनजी को इंटरलाक के रूप में नहीं सहेजा, फिर भी पहली बार निर्माण करते समय यह त्रुटि आई, लेकिन दूसरी बार जब मैं निर्माण कर रहा हूं, तो यह त्रुटि हो गई ...
जिंग

23

ऐसा तब होता है जब आपके प्रोजेक्ट फ़ाइल में छवि फ़ाइल के लिए कई प्रविष्टियाँ होती हैं। मुझे पता नहीं क्यों, लेकिन मैंने अभी सभी प्रविष्टियों को हटा दिया, परियोजना को फिर से लोड किया और फ़ाइल को फिर से जोड़ा।


हम्म, क्या आपको यकीन है कि आपके पास एक ही संकलक संदेश था जो डबल होने से है?
15

8
मेरी भी यही समस्या थी। मेरी लॉन्च छवियां जहां समस्याएं पैदा करती हैं। डिफ़ॉल्ट रूप से, XCode ने मेरे सहायक फ़ाइलों के फ़ोल्डर में काली छवियां जोड़ी थीं, फिर मैंने और जोड़ा, लेकिन काले लोग दूर नहीं गए। यदि लॉन्च छवि धारक काला है, तो इसका मतलब है कि इसके लिए आपकी परियोजना में एक छवि है। काली छवियां निकालें और अपने सही में लाएं। किया था और अब सब फिर से ठीक है!
dDDev

15

जांचें कि आपके पास लक्ष्य के "बिल्ड चरण" में डुप्लिकेट प्रविष्टियां नहीं हैं -> "कॉपी बंडल संसाधन"


किसी और के लिए, जिनके पास अपने प्रोजेक्ट में चित्र भी नहीं हैं ... यह समाधान उन सभी उत्तरों में से एक था जो काम करते थे। मेरे पास छवियां नहीं हैं, लेकिन मैं फेसबुक एसडीके का उपयोग कर रहा हूं और मुझे बिल्ड फेज-> कॉपी बंडल रिसोर्सेज में लाल रंग की किसी भी चीज को डिलीट करना था।
जेफ ग्रिम्स

9

यह "संपीड़न PNG फ़ाइलें" सेटिंग (बिल्ड सेटिंग्स के पैकेजिंग अनुभाग से) हो सकता है।

मैंने इस त्रुटि को "नहीं" पर स्विच करके हल किया।


6

मेरे मामले में मुझे पता चला कि मेरा दूषित png फ़ोटोशॉप में नहीं खुलेगा। मैंने पूर्वावलोकन में खोला, psd के रूप में सहेजा गया, और फिर फ़ोटोशॉप से ​​फिर से सहेजा गया (save-as -> png -> not-interlaced)। ठीक है अब xcode 4 में संकलन करता है।


5

"पूर्वावलोकन" का उपयोग करते हुए इस * .PNG फ़ाइलों को खोजने और फिर से शुरू करने का प्रयास करें , सटीक होने के लिए: फ़ाइल - निर्यात ... - "पीएनजी के रूप में सहेजें" । यह मुझे लगता है, कि यह तब होता है जब आप फ़ोटोशॉप में मोड "वेब के लिए सहेजें" के साथ छवि को सहेजते हैं और इसके बाद छवि को विशेष संपीड़ित (एलजेडडब्ल्यू) के साथ सहेजा जाएगा । यही शुभकामना है!


3

ऐसा लगता है कि आपकी PNG फ़ाइल list_cell.pngदूषित है। Xcode 4 कई क्षेत्रों में Xcode 3 की तुलना में अधिक जांच करता है और उन समस्याओं को प्रकट करता है जो आपके प्रोजेक्ट में हर समय गुप्त रही हैं।

क्या आपने एक छवि संपादक में अपनी PNG फाइल को खोलने और इसे फिर से सहेजने की कोशिश की है?


1
हां, मैं पहले से ही इसे पूर्वावलोकन में खोल रहा हूं, यह ठीक है। और मैं इसे फिर से सहेजने की कोशिश करता हूं लेकिन त्रुटि अभी भी दिखती है।
माइकल चेन

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

3

मेरे मामले में मैंने फ़ोल्डर / फ़ाइल नाम में रिक्त "स्पेस-की" को हटाकर समस्या को हल किया।

आशा है कि यह भी किसी के लिए काम करता है।


2

मेरा दखल नहीं था, लेकिन मुझे pngcrush से अजीब त्रुटियाँ मिलती रहीं। आखिरकार मैंने न केवल डिस्क बल्कि XCode के माध्यम से फ़ाइलों को हटा दिया। मैंने उन्हें XCode में एक-एक करके ड्रेंग-एंड-ड्रॉप से ​​एक-एक करके जोड़ा, एक के बाद एक निर्माण, एक हिट करने की उम्मीद में जो एक मुद्दा था। मैंने कभी नहीं किया। मेरा निष्कर्ष यह है कि आपको वास्तव में XCode से फ़ाइलों में हेरफेर करने की आवश्यकता है और फाइल सिस्टम को बिल्कुल भी नहीं।


2

मेरे मामले में xcode 4.5 के साथ समस्या टर्मिनल के साथ अनुमति देकर हल की गई है

chmod -R + rw / yourprojectpath / yourprojectfolder

फ़ाइल साझाकरण के साथ फ़ाइलों को लॉक करने के कारण यह शायद सबसे अच्छा समाधान नहीं है। लेकिन अगर आप जल्दी में हैं तो करेंगे।


2

मुझे पीएनजी के संदर्भों को दूर करना था और उन्हें फिर से परियोजना में जोड़ना था। किसी के पास एक बेहतर उपाय है?


1

मुझे png फाइलें निकालनी थीं और फिर Targets -> AppName -> Build Phases -> बंडल रिसोर्स पर जाएं और फाइलों को भी वहां से हटा दें।


1

मुझे भी यही त्रुटि मिली। जहाँ वास्तव में jpeg मेरे pngs निकला। XCode ने उन्हें ठीक से दिखाया लेकिन एक iOS डिवाइस नहीं था। Jpg को png के रूप में सहेज कर इसे हल किया।


1

यह त्रुटि इसलिए होती है क्योंकि आपके पास संसाधनों में एक छवि होती है जो चौड़ाई या ऊंचाई में 5 पिक्सेल से छोटी होती है और आप उस छवि का आकार बदलने की कोशिश कर रहे होते हैं। सभी छवियों को न्यूनतम 5 पिक्सेल पर सेट करें और त्रुटि गायब हो जाती है।


यह मेरे साथ क्या हुआ, यह तय हो गया।
पुनर्नवीनीकरण स्टील


0

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


0

मुझे भी यही समस्या थी। मैंने डुप्लीकेट तस्वीरों को हटाकर इसे हल किया। विभिन्न फ़ोल्डरों में देखें। यही मेरी समस्या थी।


0

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


0

आपकी मदद हो सकती है। Alpha Channelसंलग्न स्क्रीनशॉट में दिखाए अनुसार संपत्ति की जांच करें । यह होना चाहिए YESअगर इसकी NO

यहां छवि विवरण दर्ज करें


0

आपकी मदद हो सकती है। Alpha Channelसंलग्न स्क्रीनशॉट में दिखाए अनुसार संपत्ति की जांच करें । यह होना चाहिए YESअगर इसकी NO

यहां छवि विवरण दर्ज करें


0

ईवा मादराज़ो ने सही उत्तर (कम से कम इंटरलेस्ड पीएनजी के साथ समस्याओं के लिए) पोस्ट किया है, लेकिन उन समस्याओं के लिए जो मुझे लगीं छवियों के एक गुच्छा के साथ हैं, आप एक बार में हर फ़ाइल को डी-इंटरलस के लिए पुन: उपयोग कर सकते हैं।

find ./ -name "*.png" -exec mogrify -interlace none {} \;

इंटरलेस विधि को बदलने से छवि गुणवत्ता प्रभावित नहीं होती है, लेकिन छवि का आकार प्रभावित होता है, कोई भी आपको एक छोटी छवि नहीं देगा।

Mogrify ImageMagick के साथ आता है और आप इसे homebrew के साथ इंस्टॉल कर सकते हैं।


0

त्रुटि:

पढ़ते समय / Volumes / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush ने libpng त्रुटि पकड़ी: न कि PNG फ़ाइल ।।

उपाय:

  1. मैंने PaintBrush टूल में "default1024_768" फ़ाइल खोली है और उसी नाम से PNG फ़ाइल सेव की है।
  2. Xcode प्रोजेक्ट में आइकन फ़ाइल को बदला गया।
  3. साफ -> बनाएँ

यह आकर्षण की तरह अपने सभी काम है

आशा है कि यह किसी की मदद करेगा।

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