Xây dựng ứng dụng với Xcode 4 - nó luôn hiển thị một số lỗi về hình ảnh PNG


88

Khi tôi tạo ứng dụng của mình với Xcode 4, nó luôn hiển thị thông báo lỗi sau:

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

Trong khi kiểm tra alphas trong /Volumes/WORK/Works/iMusicBox/Images/list_cell.png pngcrush đã gặp lỗi libpng: Không đủ dữ liệu hình ảnh

nhưng Nó OK với Xcode 3.2 - tại sao?

Câu trả lời:


191

Tìm thấy rồi!!

Bạn phải lưu các tệp PNG của mình dưới dạng KHÔNG ĐƯỢC LIÊN KẾT . Hãy thử mở tệp bằng photoshop (hoặc tương tự), lưu dưới dạng và chọn "Không xen kẽ".

Nó đang hoạt động trong trường hợp của tôi

hi vọng điêu nay co ich


Eva, bạn nói đúng, cảm ơn! Tôi xuất từ ​​web trong pixelmator và nó ổn.
Michael Chen

6
Đàn ông! cảm ơn chúa! còn bạn! Tôi định lên sân thượng để ném chiếc máy tính xách tay ngu ngốc của mình từ đó thì tôi thấy câu trả lời này và nó đã hoạt động. Cảm ơn rất nhiều. Tôi đoán bây giờ đã đến giờ đi ngủ.
Sahil Chaudhary,

7
Trong trường hợp của tôi, hóa ra tôi có một số tham chiếu đến cùng một tệp trong Xcode (điều này có thể có nghĩa là nó đã cố gắng xử lý tệp nhiều lần?) Việc xóa tham chiếu trùng lặp đã loại bỏ vấn đề.
Peter Johnson

Tôi đã lưu tệp png của mình dưới dạng KHÔNG ĐƯỢC LIÊN KẾT, vẫn gặp lỗi này khi xây dựng lần đầu tiên, nhưng lần thứ hai tôi tạo, lỗi này đã biến mất ...
Jing

23

Điều đó xảy ra khi bạn có nhiều mục nhập cho tệp hình ảnh trong tệp dự án của mình. Tôi không biết tại sao nhưng tôi chỉ xóa tất cả các mục nhập, tải lại dự án và thêm lại tệp.


Hmm, bạn có chắc rằng bạn đã nhận được cùng một thông báo trình biên dịch từ việc có doublettes?
brainray

8
Đây cũng là vấn đề của tôi. Hình ảnh Khởi chạy của tôi nơi gây ra sự cố. Theo mặc định, XCode đã thêm hình ảnh màu đen trong thư mục Tệp hỗ trợ của tôi, sau đó tôi đã thêm nhiều hình ảnh hơn nhưng những hình ảnh màu đen không biến mất. Nếu ngăn chứa hình ảnh Khởi chạy có màu đen, điều đó có nghĩa là có một hình ảnh trong dự án của bạn cho nó. Loại bỏ các hình ảnh màu đen và mang lại những hình ảnh chính xác của bạn. Đã làm điều đó và bây giờ tất cả đã tốt trở lại!
dbDev

15

Kiểm tra để đảm bảo rằng bạn không có các mục trùng lặp trong "Giai đoạn xây dựng" của Target -> "Sao chép tài nguyên gói"


cho bất kỳ ai khác thậm chí không có hình ảnh trong dự án của họ ... giải pháp này là một trong tất cả các câu trả lời hiệu quả. Tôi không có hình ảnh, nhưng tôi đang sử dụng Facebook SDK và tôi phải xóa bất kỳ thứ gì có màu đỏ trong Build Phases-> Copy Bundle Resources.
Jeff Grimes

9

Đó có thể là cài đặt "Nén tệp PNG" (từ phần Đóng gói của Cài đặt bản dựng).

Tôi đã giải quyết lỗi này bằng cách chuyển nó thành "Không".


6

Trong trường hợp của tôi, tôi phát hiện ra tệp png bị hỏng của tôi sẽ không mở trong photoshop. Tôi đã mở trong bản xem trước, lưu dưới dạng psd, và sau đó lưu lại từ photoshop (save-as -> png -> not-interlaced). Biên dịch tốt ngay bây giờ trong xcode 4.


5

Cố gắng tìm và lưu lại các tệp * .PNG này bằng cách sử dụng "Xem trước" , chính xác là: Tệp - Xuất ... - "lưu dưới dạng PNG" . Đối với tôi, điều đó xảy ra khi bạn lưu hình ảnh trong Photoshop với chế độ "Lưu cho Web" và sau đó hình ảnh này sẽ được lưu bằng cách nén đặc biệt (LZW) . Vậy thôi, chúc bạn may mắn!


3

Có vẻ như tệp PNG của bạn list_cell.pngbị hỏng. Xcode 4 thực hiện nhiều kiểm tra hơn Xcode 3 trong nhiều lĩnh vực và tiết lộ các vấn đề luôn rình rập trong dự án của bạn.

Bạn đã thử mở tệp PNG của mình trong trình chỉnh sửa hình ảnh và lưu lại chưa?


1
Có, tôi đã mở nó trong Xem trước, không sao cả. và tôi cố gắng lưu lại nhưng lỗi vẫn hiển thị.
Michael Chen

Đừng chỉ mở nó trong Xem trước. Nó cũng có thể cố gắng khắc phục các lỗi trong hình ảnh. Mở nó bằng một ứng dụng có thể chỉnh sửa hình ảnh và lưu trữ phiên bản mới của hình ảnh.
Codo

3

Trong trường hợp của tôi, tôi đã giải quyết vấn đề bằng cách xóa "phím cách" trống trong thư mục / tên tệp.

Hy vọng điều này cũng làm việc cho ai đó.


2

Của tôi không bị xen kẽ nhưng tôi liên tục nhận được các lỗi kỳ lạ từ pngcrush. Cuối cùng, tôi đã xóa các tệp không chỉ đĩa mà thông qua XCode. Tôi đã thêm lại từng cái một bằng cách kéo và thả vào XCode, xây dựng sau mỗi cái, hy vọng sẽ đánh trúng một cái có vấn đề. Tôi chưa bao giờ làm. Kết luận của tôi là bạn thực sự cần thao tác các tệp từ XCode chứ không phải hệ thống tệp nào cả.


2

trong trường hợp của tôi với xcode 4.5, vấn đề được giải quyết bằng cách cấp quyền với thiết bị đầu cuối

chmod -R + rw / yourprojectpath / yourprojectfolder

đây có thể không phải là giải pháp tốt nhất vì khóa tệp bằng chia sẻ tệp. Nhưng sẽ làm nếu bạn đang vội vàng.


2

Tôi đã phải xóa các tham chiếu đến PNG và thêm lại chúng vào dự án. Bất cứ ai có một giải pháp tốt hơn?


1

Tôi phải xóa tệp png và sau đó đi tới Mục tiêu -> Tên ứng dụng -> Xây dựng giai đoạn -> Nhóm tài nguyên và xóa tệp khỏi đó.


1

Tôi cũng gặp lỗi tương tự. Hóa ra pngs của tôi, nơi thực sự jpeg. XCode hiển thị chúng đúng cách nhưng thiết bị iOS thì không. Đã giải quyết nó bằng cách lưu jpg dưới dạng png.


1

Lỗi này xảy ra vì bạn có hình ảnh trong tài nguyên có chiều rộng hoặc chiều cao nhỏ hơn 5 pixel và bạn đang cố gắng thay đổi kích thước hình ảnh đó. Đặt tất cả hình ảnh thành tối thiểu 5 pixel và lỗi sẽ biến mất.


Đây là những gì đã xảy ra với tôi, điều này đã sửa chữa nó.
Thép tái chế

1

Làm theo các bước:

 1. Take an image. 

 2. Rename it to the showing error png's name. 

 3. Drag it back to the Xcode.

câu trả lời nên tôi mô tả nhiều hơn
Nimit Dudani

0

Trong trường hợp của tôi, tôi phải xóa tất cả các tệp PNG khỏi thư mục và sau đó thêm lại các tệp một lần nữa mà không cần kéo và thả hình ảnh vào giao diện người dùng Xcode (trong Khởi chạy hình ảnh). Điều thứ hai là chìa khóa trong trường hợp của tôi, đầu tiên thêm các tệp vào thư mục và sau đó kéo chúng vào giao diện người dùng bằng cách nào đó gây ra một bản sao làm hỏng tất cả. Hãy thử điều đó nếu không có gì khác phù hợp với bạn.


0

Tôi đã từng gặp vấn đề tương tự. Tôi đã giải quyết nó bằng cách xóa các hình ảnh trùng lặp. Kiểm tra trong các thư mục khác nhau. Đó là vấn đề của tôi.


0

Tôi đã giải quyết được lỗi này, nó xuất hiện khi bạn đổi tên hình ảnh sau khi đưa vào dự án, vì vậy để giải quyết vấn đề này, trước tiên, bạn nên xóa hình ảnh hiện tại, đổi tên tệp từ công cụ tìm và sau đó sao chép hình ảnh này vào dự án.


0

Có thể giúp bạn. Kiểm tra Alpha Channeltài sản như được hiển thị trong ảnh chụp màn hình đính kèm. Nó phải là YESnếu nó NO.

nhập mô tả hình ảnh ở đây


0

Có thể giúp bạn. Kiểm tra Alpha Channeltài sản như được hiển thị trong ảnh chụp màn hình đính kèm. Nó phải là YESnếu nó NO.

nhập mô tả hình ảnh ở đây


0

Eva Madrazo đã đăng câu trả lời đúng (ít nhất là đối với các vấn đề với các PNG xen kẽ), nhưng đối với những người gặp vấn đề này với một loạt hình ảnh như tôi đã làm, bạn có thể sử dụng đệ quy mogrify để loại bỏ xen kẽ mọi tệp cùng một lúc.

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

Thay đổi phương pháp xen kẽ dường như không ảnh hưởng đến chất lượng hình ảnh, nhưng ảnh hưởng đến kích thước hình ảnh, không có phương pháp nào sẽ cung cấp cho bạn hình ảnh nhỏ hơn.

Mogrify đi kèm với ImageMagick và bạn có thể cài đặt nó bằng homebrew.


0

Lỗi:

Trong khi đọc / Tập / Mac OS / RDC / Workpot / RestApp / RestApp / default1024_768.png pngcrush bị lỗi libpng: Không phải tệp PNG ..

Giải pháp:

  1. Tôi đã mở tệp "default1024_768" trong công cụ PaintBrush và tệp PNG saveAs có cùng tên.
  2. Đã thay thế tệp Biểu tượng trong dự án Xcode.
  3. Làm sạch -> Xây dựng

Đó là Tất cả công việc của nó giống như sự quyến rũ

Hy vọng điều này sẽ giúp một ai đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.