Cordova's user agent management for iOS employs a scheme of setting a baseline "original" user agent, which by default conforms to the standard user agent a UIWebView would expose, and then optionally appending CDVViewController-specific data to it in the appropriate use cases, to manage whitelisting.
Cordova shouldn't really care too much about the data that the original user agent exposes. I.e. it should be able to be overridden by a consumer, so that the consumer can supply its own user agent data. This is not technically possible with the current implementation of the CDVUserAgentUtil class, since it does not exist as a member of any instance class; it's truly static/global, so inheritance doesn't come into play.
Even if an instance of CDVuserAgentUtil could be made a property of CDVViewController, or something else, it would be kind of weird for a consumer to inherit from what's essentially a static class, just to configure their own user agent data.
There should be another mechanism for users to override the original user agent configuration.