Hi S/E,
So.. this isn’t a place to “grind one's axe” but I wanted to write a quick note highlighting recent developments in the InjectionIII project for "hot reloading" as it’s taken a significant leap forward in terms of usability. Perhaps you’ve tried to use injection in the past or it always sounded “too good to be true" but I’d recommend giving the new version a try particularly if you are working on a large project.
The InjectionIII App runs alongside Xcode and it allows you to update method implementations in your program without having to rebuild and restart it by simply saving the source file. Ideal for iterating over design decisions or applying a fix without having to re-navigate through your app to where you noticed the bug. Until now there hasn’t been an entirely satisfactory solution for Swift but we found a powerful new technique that could even swizzle C++ if one wanted to.
The reasons not to use injection are getting vanishingly small given it pretty much “just works”™️ if you understand its limitations. And even if you don’t, the worst case is you just have to restart your app as you would normally. This has developed into a bit of a personal crusade for me and I hope one day it gets thoroughly sherlocked so developers can be liberated from the edit-build-run-test, edit-build-run-test treadmill.