6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

画像形式が拡張子と一致しないため iOS の実機で表示されない

Last updated at Posted at 2014-11-16

画像の形式と画像の拡張子が一致していないと、iOS シミュレータだと表示されるが、実機では表示されません。

iOS デバイスで実行しようとする際に Xcode に

CopyPNGFile Error

というエラーが表示されることから、デバイスに PNG 画像をコピーする際の処理でエラーしてしまうようです。(iOS シミュレータではこの処理が入らないものと思われます)。

プログラム自体はそのまま動いてしまうので見逃しやすいです。

ファイルの拡張子とファイル形式が一致するようにしましょう。

ファイル形式の確認方法

ファインダーでは画像形式は拡張子のものを表示するので 本当の ファイル形式は分かりません。

そんなときに個人的にオススメなのは file コマンドです。様々なファイル形式を判定することが可能で、他の *nix 系 OS でも使えます。

$ file hontou_ha_jpg.png
hontou_ha_jpg.png: JPEG image data, JFIF standard 1.01

この場合は本当は JPEG ということが分かり、ウソを見破ることができます。

iOS の画像を使うような API であれば、PNG も JPEG も処理できるものがほとんどなので、単純に拡張子を直してあげることが一番早いです。

画像形式の変更方法

画像をたくさん直さないといけない場合には ImageMagick の convert コマンドを使うのがオススメです。

MacOS X でのインストール

インストール方法は MacPortsHomebrew を使うのがオススメです。

MacPorts の場合

$ sudo port install ImageMagick

Homebrew の場合

$ brew install imagemagick

Windows でのインストール

iOS 開発の話をしているので、Windows はあまり関係ありませんが、ImageMagick は Windows 版もあります。
公式サイト からダウンロードしてインストールできます。

コマンドを使った画像形式変更方法

上が終わると convert という画像形式変換ツールが使えるようになります。

ターミナルで
$ convert hontou_ha_jpg.png hontou_ha_jpg.jpg

のように打てば hontou_ha_jpg.jpg本当に JPEG 形式になります。

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?