So I started learning some Box2D to improve skills in game programming. Box2D is a physics engine written in C++. Many games use a graphics engine but not a physics engine. The graphics engine usually accelerates the graphics on the GPU but what makes movements look realistic is the physics engine.
Because Box2D is written in C++ you cannot simply use it in your iOS project, but thanks to Objective-C++ support you can change your file extensions to .mm and then simply use C++ in your Objective-C project.
In this example im not using a graphics engine, only Box2D and basic UIKit elements (UIView). Next step would be to do a similar example using a graphics engine like Cocos2D.
Source code: https://github.com/dimme/Box2DTest