I finally managed it - the problem was not the collision detection, but it was the layout of the phone, since I did not replace the viewDidLoad method in the ViewController with viewWillLayoutSubviews method. Now everything works fine.
The significant post was the following: bodyWithEdgeLoopFromRect not working in landscape
Thanks for your support!