web-dev-qa-db-ja.com

Xcode 4でアプリをビルドします-PNGイメージに関するエラーが常に表示されます

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では問題ありません-なぜですか?

88
Michael Chen

それを見つけた!!

PNGファイルをNOT INTERLACEDとして保存する必要があります。 photoshop(または同様の)でファイルを開き、名前を付けて保存し、「インターレースなし」を選択してください。

私の場合はうまくいっています

お役に立てれば

192
Eva Madrazo

これは、プロジェクトファイル内の画像ファイルに複数のエントリがある場合に発生します。理由はわかりませんが、すべてのエントリを削除し、プロジェクトをリロードして、ファイルを再度追加しました。

23
banane

ターゲットの「ビルドフェーズ」->「バンドルリソースのコピー」に重複エントリがないことを確認します

15
Yohann T.

「ビルド設定のパッケージング」セクションの「PNGファイルの圧縮」設定の場合があります。

このエラーを「いいえ」に切り替えて解決しました。

9
sunset

私の場合、破損したpngがphotoshopで開かないことがわかりました。プレビューで開いてpsdとして保存し、Photoshopから再度保存しました(save-as-> png-> not-interlaced)。 Xcode 4で問題なくコンパイルできるようになりました。

6
jaime

"Preview"を使用して、この* .PNGファイルを見つけて再保存してみてください。正確には:File-エクスポート...- "PNGとして保存"。 「Web用に保存」モードでPhotoshopで画像を保存し、この画像が特別な圧縮(LZW)で保存された後に発生するようです。それだけです、幸運を!

5
Resty

PNGファイルlist_cell.pngは破損しています。 Xcode 4は多くの領域でXcode 3よりも多くのチェックを行い、プロジェクトに常に潜んでいる問題を明らかにします。

PNGファイルを画像エディターで開いて、もう一度保存しようとしましたか?

3
Codo

私の場合、folder/filenameの空白の「スペースキー」を削除することで問題を解決しました。

これが誰かにも役立つことを願っています。

3
inox

私のものはインターレースされませんでしたが、pngcrushから奇妙なエラーが出続けました。最終的には、ディスクだけでなくXCodeを介してファイルを削除しました。 XCodeにドラッグアンドドロップすることで、それらを1つずつ追加し、問題が発生したものをヒットすることを期待して、それぞれの後にビルドしました。私は決してしませんでした。私の結論は、ファイルシステムではなく、XCodeからファイルを操作する必要があるということです。

2
hofo

私の場合、xcode 4.5では、ターミナルで許可を与えることで問題が解決します

chmod -R + rw/yourprojectpath/yourprojectfolder

ファイル共有でファイルをロックするため、これはおそらく最良の解決策ではありません。しかし、あなたが急いでいる場合は行います。

2

PNGへの参照を削除して、プロジェクトに再度追加する必要がありました。誰もがより良い解決策を持っていますか?

2
Alex L

PNGファイルを削除してから、[ターゲット]-> [AppName]-> [ビルドフェーズ]-> [バンドルリソース]に移動し、そこからファイルも削除する必要がありました。

1
zirinisp

手順に従ってください:

 1. Take an image. 

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

 3. Drag it back to the Xcode.
1
tasnim ahmed

同じエラーが発生しました。実際にjpegであるpngが判明しました。 XCodeはそれらを適切に表示しましたが、iOSデバイスは表示しませんでした。 jpgをpngとして保存することで解決しました。

1
OnTwoWheels

このエラーは、幅または高さが5ピクセルより小さいリソースに画像があり、その画像のサイズを変更しようとしているために発生します。すべての画像を5ピクセル以上に設定すると、エラーが消えます。

1
ancajic

Eva Madrazoが正しい回答を投稿しました(少なくともインターレースPNGの問題について)が、私が行ったように多数の画像でこの問題を抱えている人は、mogrifyを再帰的に使用してすべてのファイルを一度にインターレース解除できます。

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

インターレース方式を変更しても画像品質には影響しませんが、画像サイズには影響しますが、小さな画像にはなりません。

MogrifyにはImageMagickが付属しており、homebrewでインストールできます。

0
Douglas Schmidt

同じ問題がありました。重複した写真を削除して解決しました。別のフォルダーでチェックアウトします。それが私の問題でした。

0
Javier Roberto

あなたを助けるかもしれません。チェックAlpha Channel添付のスクリーンショットに示すプロパティ。 YESの場合、NOである必要があります。

enter image description here

0
Ashvin Ajadiya

私はこのエラーを解決しました、プロジェクトに入れた後に画像の名前を変更すると表示されるので、この問題を解決するには、まず現在の画像を削除し、Finderからファイルの名前を変更し、後でこの画像をプロジェクトにコピーする必要があります。

0
kakashy

あなたを助けるかもしれません。チェックAlpha Channel添付のスクリーンショットに示すプロパティ。 YESの場合、NOである必要があります。

enter image description here

0
Ashvin Ajadiya

エラー:

読み取り中/ Volumes/Mac OS/RDC/Workpot/RestApp/RestApp/default1024_768.png pngcrush catch libpngエラー:Not a PNG file ..

解決策:

  1. PaintBrush ツールと同じ名前のsaveAs PNGファイルで「default1024_768」ファイルを開きました。
  2. Xcodeプロジェクトのアイコンファイルを置き換えました。
  3. クリーン->ビルド

それは魅力のようなすべての仕事です

これが誰かを助けることを願っています。

0
swiftBoy

私の場合、すべてのPNGファイルをフォルダーから削除してから、ファイルを再度追加する必要がありましたwithout画像をドラッグアンドドロップでXcode UI(Launch Imagesの下)。私の場合、後者が重要でした。最初にファイルをフォルダーに追加してから、UIにドラッグすると重複が発生し、それがすべて失敗しました。他に何も機能していない場合は試してみてください。

0
Jonathan