/dyci-main

Dynamic Code Injection Tool for Objective-C

Primary LanguageObjective-CMIT LicenseMIT

# DyCI – Dynamic Code Injection

Join the chat at https://gitter.im/DyCI/dyci-main Carthage compatible

This tool allows you to inject code into running iOS application, without restarting it.

  1. DyCI is not about loading new code in application.
  2. DyCI is about speeding up development.
  3. Each time, you are using DyCI, it saves you time.

WARNING

Uninstall DyCI before updating Xcode. If you don't you may need to reinstall xcode. We're currenlty working on this issue... If you've already expirienced this issue - remove and reinstall Xcode.

Installation

1. Install on machine

This is done once per machine. See details on installation page.

2. Add to your project

DyCI needs to integrate with the project as well. If you are using CocoaPods you can add this to your podfile

pod 'dyci', :git => 'https://github.com/DyCI/dyci-main.git'

If you prefer a manual approach you can read about it in the wiki.

Reasons, why do you need this tool

  • apply small logic changes in no time
  • when working with UI and animations you can see the results immediately
  • It's good for debugging purposes. Remember, you can inject any code at runtime, add log statements etc.

Compared to other tools

  • You need minimum moves to enable dyci
  • You aren't writing some kind of script, you are writing your code!
  • You don't need to prepare/modify/lock your code for dyci
  • Your changes are always saved (they will not be discarded on next run)

How it works

You can read all about it in the How it works wiki.

Demos

ic-Tac-Toe game

Tic-Tac-Toe Game recreation

Example

  • There's an interactive demo in the workspace found in the Dynamic Code Injection folder.
  • Krzysztof Zabłocki created KZPlayground.

WARNING

Please, do not use this tool in your real applications, that you will publish to the App Store. DyCI won't work on devices by default, by purpose. Dynamic code injection is good for development, but it will leave huge security hole if you put it in your application.

FAQ

Please open any issue, but be sure to read the FAQ before you do:-)

Other Tools

There's few other tools those works kind'a the same, so if you don't like dyci - you can try those

Author(s)

Taykalo Paul, ptaykalo@stanfy.com.ua
Find me on twitter.