Search code examples
sprite-kitresolutioniphone-6-plusxcasset

Xcode - iPhone 6 Plus keeps getting recognised as @2x


I'm creating a game with SpriteKit and I have created assets for both iPhone 6 & iPhone 6 Plus sizes, but the problem is when I test in the simulator the iPhone 6 picks up whatever is in the @2x slot in the xcassets folder. So now I'm not sure if iPhone 6+ really is @3x, and if not how can I differentiate so that each resolution gets the correct asset.

I also tried all scale modes but none of them seem to have any effect, the scene is not even scaling or something, for example my background does not fill the entire screen when running on 6+.

Edit: this question is not a duplicate of another question, because in my case the iPhone 6+ doesn't recognise @3x assets, nothing does.

Edit: Sample Project: Dropbox


Solution

  • In the sample project, nothing goes wrong except that the @3x image has the wrong size. To achieve what you want, you need to provide a image sized 1242x2208 for the reason being explained later. And that's also the size of launch screen for iPhone 6p retina screen.

    In fact, the display resolution of iPhone 6p is lower than the natural @3x resolution, so the @3x will be automatically resized to approximately 87% (downsampling) of the original size. Learn more about the process here.

    The result:

    enter image description here