As always, I'm interested in seeing different approaches to dependency injection and I thought from the title that AppContainer might be something new.
Unfortunately, this is basically just an overview of using Swinject for DI.
As an introduction it's not bad, but I'd question the use of:
let container = AppContainer.default
As that basically devolves this into being a service locator pattern and makes everything dependent on a global singleton.
If you're doing a true container-based system you probably need to pass the container into the object's initializer.