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/4 or 10 to work, installed at the standard location in /Applications. You'll need to turn entitlements off to be able to use injection on a macOS application. Add one of the following to your app’s startup to connect to InjectionIII:
Xcode 10.2 and later:
//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 and running.
If your project is organised across multiple directories, after you have selected the main project, you can add directories to be watched for file changes using the "Add Directory" menu item. This list resets when you select a new project.
- Drops support for Xcode 10.1 and older
- Adds support for adding additional watch directories
Ratings and ReviewsSee All
Up to six family members will be able to use this app with Family Sharing enabled.