後悔なしと口コミの脱毛器とエステ級美顔器!

2012年03月15日

iPhoneアプリ作成で画像を扱う時の注意点


iPhoneアプリ開発についての自分メモ


「実機だと画像が表示されない問題について」
「変更内容が反映されないときの対処」
「Lionでホームフォルダ内のライブラリフォルダを表示する方法」
「buildフォルダ下のファイルをすべて削除して再ビルド」
の、まとめ。



iPhoneアプリ作成時に使用する画像名は

拡張子(.jpg .gif .png 等)まで

全て小文字で

統一することをお勧めします。


シュミレータでは動かす分には問題なく思えますが
実機側では大文字、小文字まで判定するので
プログラム上で小文字、画像名で大文字
となっていた場合
違う画像として認識されます。

例. 画像名 gazou.PNG プログラム上 gazou.png

シュミレータ上では普通に画像表示されますが
実機上ではgazou.png画像がナイと判断され
画像が表示されません。



気付かずに実行してしまい、
画像名を修正しても
画像が表示されないままだった場合。


方法1.
Xcodeからビルドのキャッシュをクリアする

Xcode上記メニュー
1.「Product」→「Clean」実行
2.「Product」→Optionボタン押下→「Clean Build Folder...」実行


方法2.
buildフォルダ下のファイルを削除

1.新規でFinderを開く
2.上記メニュー「移動」→「コンピュータ」→「Macintosh HD(使用しているHD)」
  「ユーザ」→「(使用しているユーザ名)」→「ライブラリ」
  「Developer」→「Xcode」→「DerivedData」まで移動
3.Xcodeで作成しているプロジェクト名が並んでいるので
  該当するものを探してフォルダごと削除


方法3.
画像を一旦削除して再登録

1.表示されない画像ファイルを別の場所に移動(XcodeでなくPC上で)
  デスクトップでいいので一時移動
2.「1」を実行後にXcode上ではリンク切れで赤くなるので、これを削除
3.画像を元の場所に戻して再登録


上から順番にやれば
どこかで直るでしょう。


そんでもダメだー!と言う人は
最終手段として

画像の名称自体を別物にする

という手もアリです。

gazou.PNG を gazou.png に修正しても
実機では判断するくせに、文字列的には同じだからか
キャッシュ側でクリアできず
修正前の状態が残ってしまいます。

しかし、
画像名自体をガラッと変えてしまえば
さすがに
普通に実行しただけで修正されます。

例. gazou.png → gazouga.png
(当たり前ですが、画像名、プログラム側、両方変更するように)


これは基本的に
本質的な解決にはなってないのでお勧めはしませんが。



今回…
こいつのせいで、丸1日どころか
3日くらい費やしましたorz

この情報が
同じようにハマっている人の役に少しでも立てれば
報われるというものです。

忘れるもんか、こんちくしょー!



ちなみに…
データーベース使用でも
同じようにハマる穴があるのですが……

それについては、いずれまた
機会があれば☆
タグ:iPhone アプリ
posted by セイテン at 23:04 | Comment(4) | 技能情報 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
画像が変わらない現象に半べそかいてましたが、このページに救われました。ありがとうございます。
Posted by shimo at 2013年09月03日 04:45
ありがとうございます!
少しでもお役に立ったなら嬉しいです^^
Posted by 管理人 at 2013年09月04日 01:03
これで1時間ハマりました。
画像名を一旦変更してから元に戻すだけで認識されましたのでご報告致します。良ければそちらでも試してみてください〜
Posted by kp at 2016年03月17日 12:05
こんにちは!
これ結構はまりますよね〜…

記事を書いたのはだいぶ昔なんですが
お役に立てたなら嬉しいです^^

ご報告もありがとうございます!
画像名、一旦変更して戻すってのも簡単でいいですね。
覚えておきましょう♪
Posted by 管理人 at 2016年04月03日 17:37
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: