kzaher/injectionforxcode — explained in plain English
Analysis updated 2026-08-03 · repo last pushed 2017-01-10
Adjust UI layout and colors without recompiling your entire iOS or Mac app.
Fine-tune animation timing by injecting code changes and seeing results instantly.
Experiment with tunable parameters quickly using automatic file-watch injection on save.
| kzaher/injectionforxcode | mustangym/kscrash | aonez/macreflower | |
|---|---|---|---|
| Stars | 3 | 2 | 1 |
| Language | Objective-C | Objective-C | Objective-C |
| Last pushed | 2017-01-10 | 2020-11-27 | 2016-11-27 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires installing a plugin into Xcode and ensuring Swift methods are not marked final or private for injection to work.
Injection for Xcode is a plugin that lets you change your app's code and see the results immediately, without restarting the app. If you have ever waited through a slow build cycle just to test a small visual tweak, this tool eliminates that wait. You edit a file, press a keyboard shortcut, and the new code takes effect in your running app on the spot. Under the hood, the plugin watches your build logs to figure out how a file was originally compiled. When you make a change, it recompiles just that file and packages it into a bundle that gets loaded into the running app. At that point there are two versions of your class in memory. The tool swaps the old version's behavior for the new one using a technique that takes advantage of how Objective-C and certain Swift classes resolve method calls at runtime. For Swift, this works well as long as your methods are not marked as final or private, but it cannot inject changes to structs or global functions. This tool is for iOS and Mac developers who work in Xcode and want to iterate faster. A practical example would be adjusting the layout, colors, or animation timing of a screen. Instead of recompiling the entire project and navigating back to that screen each time, you can tweak the values, inject the code, and instantly see the update. It also supports a file watcher mode that automatically injects changes whenever you save a file, and it can handle tunable parameters for quick experimentation. One notable aspect of the project is how it finds the right objects to update. It sweeps through the app's memory, starting from the app delegate and windows, recursively following references to locate instances of the class you just changed. This approach has limitations: if it cannot find a reference to your object, the injection callback will not fire. The project is also distributed as nagware, meaning it is free to try for two weeks but asks for a donation afterward.
An Xcode plugin that lets iOS and Mac developers change code and see results instantly without rebuilding the app. It recompiles individual files and swaps in the new code at runtime for faster iteration.
Mainly Objective-C. The stack also includes Objective-C, Swift, Xcode.
Dormant — no commits in 2+ years (last push 2017-01-10).
Free to try for two weeks as nagware, but asks for a donation to continue using afterward.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.