สร้างแอพด้วย 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 ของคุณเป็นไม่ INTERLACED ลองเปิดไฟล์ใน photoshop (หรือคล้ายกัน) บันทึกเป็นและเลือก "ไม่สอดประสาน"

มันใช้งานได้ในกรณีของฉัน

หวังว่านี่จะช่วยได้


Eva คุณพูดถูกขอบคุณ! ฉันส่งออกจากเว็บใน pixelmator และก็ใช้ได้
Michael Chen

6
ชาย! ขอบคุณพระเจ้า! และคุณ! ฉันกำลังจะไปที่ดาดฟ้าเพื่อโยนแล็ปท็อปโง่ ๆ จากที่นั่นเมื่อฉันเห็นคำตอบนี้และมันได้ผล ขอบคุณมาก. ฉันเดาว่าถึงเวลานอนแล้ว
Sahil Chaudhary

7
ในกรณีของฉันปรากฎว่าฉันมีการอ้างอิงถึงไฟล์เดียวกันใน Xcode หลายครั้ง (อาจหมายความว่ามันพยายามประมวลผลไฟล์มากกว่าหนึ่งครั้ง?) การลบการอ้างอิงที่ซ้ำกันทำให้ปัญหาออกไป
Peter Johnson

ฉันบันทึก png ของฉันเป็นไม่แทรกกลางยังคงได้รับข้อผิดพลาดนี้เมื่อสร้างครั้งแรก แต่ในครั้งที่สองที่ฉันสร้างข้อผิดพลาดนี้หายไป ...
จิง

23

ซึ่งจะเกิดขึ้นเมื่อคุณมีหลายรายการสำหรับไฟล์รูปภาพในไฟล์โปรเจ็กต์ของคุณ ฉันไม่รู้ว่าทำไม แต่ฉันเพิ่งลบรายการทั้งหมดโหลดโครงการซ้ำและเพิ่มไฟล์อีกครั้ง


อืมแน่ใจหรือว่ามีข้อความคอมไพเลอร์เหมือนกันจากการมี doublettes?
brainray

8
นี่เป็นปัญหาของฉันเหมือนกัน รูปภาพเปิดตัวของฉันที่ทำให้เกิดปัญหา ตามค่าเริ่มต้น XCode ได้เพิ่มภาพสีดำในโฟลเดอร์ไฟล์สนับสนุนของฉันจากนั้นฉันก็เพิ่มมากขึ้น แต่ภาพสีดำไม่หายไป หากตัวยึดภาพเปิดตัวเป็นสีดำแสดงว่ามีภาพอยู่ในโครงการของคุณ ลบภาพสีดำและนำภาพที่ถูกต้องเข้ามา ทำอย่างนั้นและตอนนี้ทุกอย่างก็กลับมาดีอีกครั้ง!
dbDev

15

ตรวจสอบว่าคุณไม่มีรายการที่ซ้ำกันใน "Build Phase" ของ Target -> "Copy Bundle Resources"


สำหรับใครก็ตามที่ไม่มีภาพในโปรเจ็กต์ของพวกเขา ... โซลูชันนี้เป็นเพียงคำตอบเดียวที่ได้ผล ฉันไม่มีรูปภาพ แต่ฉันใช้ Facebook SDK และฉันต้องลบอะไรก็ตามที่เป็นสีแดงใน Build Phases-> Copy Bundle Resources
Jeff Grimes

9

อาจเป็นการตั้งค่า "บีบอัดไฟล์ PNG" (จากส่วนบรรจุภัณฑ์ของการตั้งค่าการสร้าง)

ฉันแก้ไขข้อผิดพลาดนี้โดยเปลี่ยนเป็น "ไม่"


6

ในกรณีของฉันฉันพบว่า png ที่เสียหายของฉันจะไม่เปิดใน photoshop ฉันเปิดในการแสดงตัวอย่างบันทึกเป็น psd แล้วบันทึกอีกครั้งจาก photoshop (บันทึกเป็น -> png -> ไม่สอดประสาน) คอมไพล์ดีตอนนี้ใน xcode 4


5

พยายามที่จะหาและบันทึกงานนี้ไฟล์ * .PNG ใช้"Preview"เป็นที่แน่นอน: ไฟล์ - ส่งออก ... - "บันทึกเป็น PNG" มันดูเหมือนว่าฉันว่ามันเกิดขึ้นเมื่อคุณบันทึกภาพใน Photoshop ด้วยโหมด "บันทึกสำหรับเว็บ" และหลังจากที่ภาพนี้จะถูกบันทึกด้วยการบีบอัดพิเศษ (LZW) ทั้งหมดนี้ขอให้โชคดี!


3

ดูเหมือนว่าไฟล์ PNG ของคุณlist_cell.pngจะเสียหาย Xcode 4 ทำการตรวจสอบมากกว่า Xcode 3 ในหลาย ๆ ด้านและเผยให้เห็นปัญหาที่แฝงตัวอยู่ในโครงการของคุณตลอดเวลา

คุณพยายามเปิดไฟล์ PNG ของคุณในโปรแกรมแก้ไขภาพและบันทึกอีกครั้งหรือไม่?


1
ใช่ฉันเปิดในการแสดงตัวอย่างแล้วก็ใช้ได้ และฉันพยายามบันทึกอีกครั้ง แต่ข้อผิดพลาดยังคงแสดงอยู่
Michael Chen

อย่าเพิ่งเปิดใน Preview นอกจากนี้ยังอาจพยายามแก้ไขข้อผิดพลาดในรูปภาพ เปิดด้วยแอปพลิเคชันที่สามารถแก้ไขรูปภาพและจัดเก็บรูปภาพเวอร์ชันใหม่
Codo

3

ในกรณีของฉันฉันแก้ปัญหาโดยการลบ "space-key" ว่างในโฟลเดอร์ / ชื่อไฟล์

หวังว่านี่จะใช้ได้กับใครบางคนเช่นกัน


2

ฉันไม่ได้เชื่อมต่อกัน แต่ฉันได้รับข้อผิดพลาดแปลก ๆ จาก pngcrush ในที่สุดฉันก็ลบไฟล์ไม่ใช่แค่ดิสก์ แต่ผ่าน XCode ฉันเพิ่มกลับเข้าไปทีละรายการโดย drang-and-drop ใน XCode สร้างแต่ละหลังโดยคาดว่าจะตีหนึ่งที่มีปัญหา ฉันไม่เคยทำ. ข้อสรุปของฉันคือคุณต้องจัดการไฟล์จาก XCode จริง ๆ ไม่ใช่ระบบไฟล์เลย


2

ในกรณีของฉันกับ xcode 4.5 ปัญหาได้รับการแก้ไขโดยการอนุญาตให้กับเทอร์มินัล

chmod -R + rw / yourprojectpath / yourprojectfolder

นี่อาจไม่ใช่ทางออกที่ดีที่สุดเนื่องจากการล็อกไฟล์ด้วยการแชร์ไฟล์ แต่จะทำถ้าคุณรีบ



1

ฉันต้องลบไฟล์ png แล้วไปที่ Targets -> AppName -> Build Phases -> Bundle Resources และลบไฟล์ออกจากที่นั่นด้วย


1

ฉันได้รับข้อผิดพลาดเดียวกัน เปิดไฟล์ png ของฉันโดยที่ jpeg จริงๆ XCode แสดงอย่างถูกต้อง แต่อุปกรณ์ iOS ไม่แสดง แก้ไขได้โดยบันทึก jpg เป็น png


1

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากคุณมีรูปภาพในทรัพยากรที่มีความกว้างหรือความสูงเล็กกว่า 5 พิกเซลและคุณกำลังพยายามปรับขนาดรูปภาพนั้น ตั้งค่ารูปภาพทั้งหมดอย่างน้อย 5 พิกเซลและข้อผิดพลาดจะหายไป


นี่คือสิ่งที่เกิดขึ้นกับฉันสิ่งนี้ได้รับการแก้ไขแล้ว
เหล็กรีไซเคิล


0

ในกรณีของฉันฉันต้องลบไฟล์ PNG ทั้งหมดออกจากโฟลเดอร์แล้วเพิ่มไฟล์ใหม่อีกครั้งโดยไม่ต้องลากและวางรูปภาพลงใน Xcode UI (ใน Launch Images) สิ่งหลังเป็นกุญแจสำคัญในกรณีของฉันก่อนอื่นให้เพิ่มไฟล์ลงในโฟลเดอร์จากนั้นลากไปยัง UI ทำให้เกิดการซ้ำซ้อนซึ่งทำให้ทั้งหมดเสียหาย ลองทำดูถ้าไม่มีอะไรที่เหมาะกับคุณ



0

ฉันแก้ไขข้อผิดพลาดนี้ปรากฏขึ้นเมื่อคุณเปลี่ยนชื่อภาพหลังจากใส่ลงในโครงการดังนั้นสำหรับการแก้ปัญหานี้อันดับแรกควรลบภาพปัจจุบันเปลี่ยนชื่อไฟล์จาก finder และคัดลอกภาพนี้ไปยังโครงการในภายหลัง


0

อาจจะช่วยคุณได้ ตรวจสอบAlpha Channelคุณสมบัติตามที่แสดงในภาพหน้าจอที่แนบมา มันควรจะเป็นYESถ้ามันNO.

ป้อนคำอธิบายภาพที่นี่


0

อาจจะช่วยคุณได้ ตรวจสอบAlpha Channelคุณสมบัติตามที่แสดงในภาพหน้าจอที่แนบมา มันควรจะเป็นYESถ้ามันNO.

ป้อนคำอธิบายภาพที่นี่


0

Eva Madrazo โพสต์คำตอบที่ถูกต้อง (อย่างน้อยก็สำหรับปัญหาเกี่ยวกับ PNGs แบบอินเทอร์เลซ) แต่สำหรับผู้ที่มีปัญหากับภาพจำนวนมากอย่างที่ฉันทำคุณสามารถใช้ mogrify ซ้ำเพื่อยกเลิกการเชื่อมต่อทุกไฟล์พร้อมกัน

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

การเปลี่ยนวิธีการแทรกสอดดูเหมือนจะไม่ส่งผลต่อคุณภาพของภาพ แต่จะส่งผลต่อขนาดของภาพไม่มีเลยที่จะทำให้คุณได้ภาพที่เล็กลง

Mogrify มาพร้อมกับ ImageMagick และคุณสามารถติดตั้งด้วย homebrew ได้


0

ข้อผิดพลาด:

ขณะอ่าน / เล่ม / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush พบข้อผิดพลาด libpng: ไม่ใช่ไฟล์ PNG ..

วิธีการแก้:

  1. ฉันได้เปิดไฟล์ "default1024_768" ในเครื่องมือPaintBrushและไฟล์saveAs PNG ที่มีชื่อเดียวกัน
  2. แทนที่ไฟล์ไอคอนในโครงการ Xcode
  3. ทำความสะอาด -> สร้าง

นั่นคือผลงานทั้งหมดที่เหมือนมีเสน่ห์

หวังว่านี่จะช่วยใครบางคนได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.