I wanted to make a gif keyboard when iOS 8 allowed for custom keyboards. I met into some issues that are rather constraining and challenging.
Alexei Baboulevitch log down all the challenges he had while developing his custom keyboard. If you are thinking of making one too, you should read this.
This was a satisfying project to work on, giving me great insight into Swift, autolayout (since removed), Core Graphics, and a bit of Interface Builder. But it also gave me experience with something that I had yet to encounter in my sheltered iOS development existence: the horror of undercooked Apple frameworks and tools.