A custom keyboard on iOS looks like a small UIKit app. It is not. It is a

UIInputViewController living inside an extension process with rules that no

normal app has to obey, and the three that actually shape the code are:

a memory ceiling in the tens of megabytes, enforced by silent termination;

a sandbox that is off by default (Allow Full Access), which removes