SpriteKit scene is inset by 1 point in width

While upgrading my app to Watch series 4, I faced a bug in height rendering for the SK scene. I workaround it as described in this thread.


In the process of observing carefully the rendering of the scene I noticed that the spritekit scene has now a frame width 2 points narrower than the screen. This is annoying if you setup an image to fit perfectly the content frame of the controller. It is now rescaled for 2 points which can lead to artefacts. By setting the skscene.scaleMode = SKSceneScaleModeResizeFill, one gan workaround the rescale and get the image cropped to lose 2 points (4 pixels) of the image.


The controller.contentFrame displays correct full width value

the skscene -calculateAccumulatedFrame displays correct full width value

the skscene.frame is 2 point inset and narrower.


Tested the same on simulator and device.


I can't figure out if there is an invalling setting to create that inset or if this is a bug in WatchKit/SpriteKit integration.


Interesting enough, but reverting to XCode 9/ iOS11, I observed that all frame are said to be equal to the full width BUT the image is in fact rescaled as well ! By toggling display of watch simulator upon original image the scaling is obvious, unless the scaleMode is set to resize as mentioned above.


Tested only on simulator for XC9/iOS11;

SpriteKit scene is inset by 1 point in width
 
 
Q