With-in a clean brand new iOS project I've:
- added 2 images to the project "background@2x.png" and "background@3x.png"
- added a XIB named "LaunchScreen.xib"
- checked the XIB's "Use as Launch Screen" option
- added a UIView sub-view to LaunchScreen.xib and set its image name to "background.png"
- with-in the project settings, under the targets 'General' settings I've set the 'Launch Screen file' to "LaunchScreen"
Now when I launch the app on any of the devices list below the @3x image is displayed in the resulting launch screen when surely the @2x image should be used.
Problem devices (that all use the @3x resource):
- iPhone 5 (iOS 8.0.0)
- iPhone 6 (iOS 8.0.0)
- iPhone 6 (iOS 8.0.2)
- iPhone 5 Simulator (iOS 8.0.0)
- iPhone 6 Simulator (iOS 8.0.0)
NOTE that the @2x image is distinctive from the @3x image so I can easily identify which one is being used.
At first I assumed this was a bug with the simulator and was staggered when it occurred on a real device also.
I assume this is yet another iOS8 bug however I guess there's also the possibility that its expected behaviour as the result of the launch screen being cached as a static image of some kind.
Any ideas or potential solutions?
EDIT:
For the benefit of others, I have subsequently found that if the images are instead added to an Images.xcassets image set then the correct behaviour is in-fact observed. HOWEVER this is not an ideal solution for us since we have a very specific image export process which means we are not using an Images.xcassets in out project (there are thousands of images in the app).
I have now also raised a Radar with Apple #18513968
http://openradar.appspot.com/18513968