###前提・実現したいこと
Xcode8.3.3を利用中です。
ある画像「A」というのAssetに登録してを使っていました。
ある日デザインの変更があり、「A」の画像をAssetから削除しました。
しかしStoryBoard上でimageViewに対し、
imageの値にこの「A」を設定してあげると画像が表示されてしまいます。
別の画像「B」で上書きした場合もStoryBoard上では「B」が表示されますが、
ビルド及び端末で実行すると「A」が表示されてしまいます。
何か解決する方法はありますでしょうか?
###試したこと
・プロジェクトのクリーン
・DerivedDataの削除
・端末内のアプリのアンインストール
AとかBというのはimage setの違いを表していますか?それとも画像の違いを表していますか?あと、スクリーンショットは、どういう意味合いで載せているのでしょうか?
image setの違いを表しています。スクリーンショットはStoryBoardで画像を設定しているというのを示したかっただけで、深い意味はありません。
2つのimage setは同じ名前なのでしょうか?スクリーンショットは「Storyboard上でlogoというimage setが表示されていない」状態を表しているんですよね?質問文中には「Storyboard上でimage setが表示されない」ということが書かれていませんが、このスクリーンショットは質問文中にどこに対応するものなのでしょうか?
2つのimage setは同じ名前になります。「logo」というイメージセットに「A」が設定してあり、置き換えで「B」を設定する形になります。
image set「logo」に "A.png", "A@2x.png", "A@3x.png"と設定してあったものを、image set「logo」に "B.png", "B@2x.png", "B@3x.png"となるようにします。
同じ手順でテストしてみましたが何の問題もなく切り替わりました。Storyboard上で画像を指定しない場合どうなりますか?(YasuhiroMiyakeさんの回答bの検証)
何も画像が表示されなくなります。ちなみにですが新規でプロジェクトを作成すると問題なく動きます。
では、Storyboard上ではlogoを指定し、Assetsからはlogoを削除するとどうなるでしょうか?
storyboard上では「?」表示になり、起動すると削除したlogoに登録されていた画像が表示されます。
情報の遅出しになってしまい申し訳ありません。こちらを設定しているのはLaunchScreen.storyboardなのですが、Main.storybard上だと表示されなくなりました。が変わらずLaunchScreen上では削除したはずの "logo" が表示されます。
どこかに別のlogoがあるとしか思えませんが‥。logoを削除した状態で、ImageViewのimageに l とか lo と入力すると、logoに補完されませんか?
補完はされませんでした。。。
もう logo という名前を使うのやめましょうw
(笑)。プロジェクトがおかしくなってるんですかね。。。とりあえずその方向でw
他に試すこと。Xcode再起動(これはやってますよね)。端末の再起動(別の症状ですが直った経験あり)。ここまではキャッシュの疑い。で、一度も起動したことが無い端末/Simulatorではどうか?(これで表示されたらプロジェクト内に存在確定)
Xcode再起動、端末の再起動この辺はやりました。Simulatorでも同じく。。。しかし別名「launch」というimage setで登録すると、Simulatorだけ表示されました。
アンインストール→再起動→インストールすると表示されました!LaunchScreenのキャッシュだけやけにしつこいのかもしれませんw