![]() | Injection for Xcode® | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Stop Press: Injection now requires zero changes to your project. You can download this version by clicking here.
This package will also install the "Xprobe" and "GitDiff" plugins and an AppCode 3.1 plugin
which allows you to inject from AppCode, including Swift when it becomes available.
Using Injection it is possible to make a change to the implementation of an Objective-C® class and have it take effect as soon as the class is saved without having to restart the application. This feature works for OS X and iOS applications in the simulator and on iOS devices. Injection works by compiling your class in a bundle project in the normal way which is then loaded into your application. The new method implementations are then "swizzled" onto the original class so they take effect immediately. This is completely automated by the plugin and a short stub of code dynamically loaded using lldb.
| Using Injection is straightforward as it is now a plugin for Xcode. The installer app can be downloaded by clicking here. Follow the instructions displayed to install the plugin then restart Xcode. The new functionality will be available under Xcode's "Product" menu. No further installation is required. Next time you would like to make changes to the implementation of a class, use "ctrl-=" to inject them. |
All source for the Injection Plugin is now availble on Github https://github.com/johnno1962/injectionforxcode
Xcode, Objective-C, OS X and iOS are registered trademarks of Apple Inc.