InjectionIII adds a limited form of “Hot
Reload” capability to your iOS, tvOS and macOS projects written in Swift or Objective-C. This allows you to change the
implementations of methods in classes without having to restart your app.
To get started, install the app to /Applications and run it then, download the example project http://johnholdsworth.com/GettingStarted.zip and build and run it in Xcode. You’ll be promoted to select the directory containing the project file and sources by the menubar app to give it access to which files have changed. Once injection has connected, if you save a file, it will be recompiled and injected into the running app, the new implementations taking place of the old. In the GettingStarted iOS app, if you edit the file DetailViewController.swift to change the string appended after the detail.description in function configureView() then save the file, you can see it take effect straight away.
InjectionIII requires Xcode version 9.3 to work, installed at the standard location in /Applications. You need to add one of the following to your app’s startup:
//Or for macOS:
It’s limited in that it can only reload implementations of non-final, non-generic classes and not structs but in general it works quite well once you’re up an running.