Нет, вы не можете сменить клавиатуру программно.
НО вы можете полностью игнорировать системную клавиатуру и использовать собственную клавиатуру. Если вы разрабатываете клавиатуру с нуля, вы можете получить полный контроль над ней.
Это много работы, но так как я видел несколько приложений, использующих пользовательские клавиатуры, я думаю, что это нормально с правилами Apple.