Why does the PicturePicker not provide all the controls available in the camera? In particular the Square option?

Because it is a PicturePicker. If you want more - and I have implemented manual focus and manual exposure settings in my app as an example - see the AVFoundation classes in iOSKit.

To expand on what Jason said - the class underlying the picture picker does not provide Square, Slow-mo, panorama, etc modes. Those modes are all faked in the Camera app using transformations of the view and other classes in the AVFoundation and CoreMedia frameworks. So there is no way they could be provided by picture picker because they do not exist. You can begin to scratch the surface of what is possible by using my AVFoundation module in iOSKit. This is one of the more advanced frameworks in all of iOS though just to warn you. Not everything in AVFoundation is implemented at the moment but a large number of classes are. If you are trying to accomplish something and find that the class is not present, send me a PM and I’ll see what I can do about it although I can’t make any guarantees on if I can implement them due to the underlying async nature of some classes in AVFoundation.

If you run the iOSKit example project there is a series of views which you can take a look at to try and gain a cursory understanding of what is possible - the best view for what you want to do will be the StillImageView. You should find that most of the classes you would need for taking images with the camera using AVFoundation have been exposed in iOSKit.

Let me know if you have any questions about using iOSKit if you decide to do so.

Thank you Jasons.

At least I know what I have to do now.