One of the things many people were excited about with iOS was 3rd party keyboards. While I think this will lead to more innovation the fact is the iOS8 keyboard is pretty fantastic on its own. Far better than any of the the 3rd party keyboards I’ve played with on Android.
I have to confess that one of the few reasons I still jailbreak is for SwipeSelection, a nice little addition that gives you cursor control via swiping. At WWDC I was really excited that this feature could be part of an unjailbroke system. There’s a bit of sad news though. I Love Swift had a good post on writing a keyboard that had a nice summary of the limits of third party keyboards.
What a custom keyboard can’t do
There are certain text input objects that your custom keyboard is not eligible to type into: secure fields (aka. passwords), phone pad objects (like the phone number fields in Contacts).
Your custom keyboard does not have access to the view hierarchy of the input, it cannot control the cursor and select text.
Also the custom keyboard cannot display anything above the top row (like the system keyboard when you long press a key on the tow row).