I enjoyed reading your post (sincerely), and I appreciated and recognised every point you expressed.
As a post, it's an excellent Chapter 1.
But stories are composed of many chapters with plot twists and turns.
I've now been a developer for over 40 years. In some fields, long ago, I was proclaimed an expert, in a limited subset, yet despite this determined and hard earned achievement, I would assess my own knowledge of commercial IT matters at around 0.001% And that is likely a generous assessment. I still learn something new from almost each and every post I read in the forums I engage in.
If I had to single out one characteristic as the secret to what keeps me motivated, active and engaged in this fantastic field it would be this: Fearless.
Being fearless means being able to throw away strongly believed notions in order to absorb and (ultimately) thrive in new found continually expanding frontiers.
We already lived through the days of unrestricted access to mouse and keyboard (and other) events. Those were days where an 18 year old French student wrote an Android App that silently sent SMS messages to a premium messaging service and drained €150,000 from its users mobile accounts. But that is just pocket change when compared to the $300B that has been stolen from users by background processes monitoring keystrokes to gain access to online bank accounts. And even that's just money, which is nothing compared to the lives that have been lost thanks to zero-day.
The OS is now the gatekeeper. It ceased being the users (and programmers) slave a long time ago. The OS must now protect users from their own ignorance and as developers who want to play in this new world, we must learn how to respect the users rights not to be conned and screwed into bankruptcy.
An irony of your post is that you were unable to find a relevant support forum to help you resolve your difficulties, to understand why all these restrictions exist and how to play nicely with them. A forum where you could discuss how to interact with these overbearing (modern) frameworks using Swift. It was a similar thought that prompted me to start this topic. For sure we can treat Swift as yet another Haskell, but sooner or later we have to grab it by the monads and deliver stuff. However, I have now (fearlessly and humbly) accepted that this is not that place. 
Please be assured, my love of the language is every bit as strong as yours, and this reply is intended in good spirit.