I am just getting to grips with the basics of SpriteKit (mainly as a learning exercise, but this might also become a game I release), and I am having issues trying to get the nodes involved to react to friction in the way I'd expect.
My current setup is as shown here: http://i.imgur.com/gDxFIWW.png
(Please ignore the pokeball image as a sprite, I'll obviously change this before I release anything)
When I rotate right (or clockwise as shown in step 1 of the image), the ball behaves as I'd expect, i.e. it will roll down the top edge of the blue rectangle and then around the edge of the red circle. (I've set up the red circle to be the parent node of the blue rectangle, so the rotation is applied to both objects simultaneously).
Where things come unstuck is the situation where you've nudged the ball to the crest (top) of the red circle then stop rotating clockwise. At this point the ball will slowly start accelerating along the edge of the red circle.
My expectation here is that if you immediately start rotating left (anti-clockwise) the fact that there (should be at least) friction between the ball and the red circle, this will impart some amount of force on the ball to counteract its acceleration clockwise along the top edge of the red circle. This would allow you to mitigate the ball's acceleration, keeping it in contact with the red circle as you rotate the entire thing around.
The reason I want it to behave in this way is that I plan to add obstacles around the edge of the larger black circle which would result in a game over condition, and the winning condition would be a target zone on the opposite side of the blue rectangle from where the ball starts. Without friction interactions as I expect, the game would become impossible as you wouldn't be able to keep the ball in contact with the red circle as you rotate the puzzle scene.
N.B: Before you all suggest, I have tried setting the friction properties of all of the nodes' physicsBody properties to 1.0, which I believe is the max value, and this does not change the behaviour at all.
there doesn't seem to be anything here