Getting the controls right in a FPS game on iOS devices can be difficult, and here’s a nice example from Nick Lockwood of some simple first person shooter movement and aiming controls for SceneKit games written in Swift.
The controls are completely based on swiping and tapping gestures so there are no graphical assets added to the screen, most likely you would use these controls as a base and add in any other controls (such as a jump button). There are no joysticks covering the screen, and the user does not need to worry about keeping their thumbs at a specific location.
This image illustrates the available controls:
You can find FPSControls on Github here.