Powerful dependency injection for iOS & OSX
Typhoon
Powerful dependency injection for Cocoa and CocoaTouch. Lightweight, yet full-featured and super-easy to use.
Not familiar with Dependency Injection?
Visit the Typhoon website for an introduction. There's also a nice intro over at Big Nerd Ranch, or here's an article, by John Reid. Quite a few books have been written on the topic, though we're not familiar with one that focuses specifically on Objective-C, Swift or Cocoa yet.
Usage
- Read the Quick Start for Objective-C or Swift.
- Here's the User Guide.
- 日本のドキュメンテーション
let assembly = MyAssembly().activated()
let viewControler = assembly.recommendationController() as! RecommendationController
Open Source Sample Applications
- Try the official Swift Sample Application or Objective-C Sample Application.
- This sample shows how to set up Typhoon with Storyboards, Core Data and Reactive Cocoa.
Have a Typhoon example app that you'd like to share? Great! Get in touch with us :)
Installing
Typhoon is available through CocoaPods or Carthage, and also builds easily from source.
With CocoaPods . . .
Static Library
# platform *must* be at least 5.0
platform :ios, '5.0'
target :MyAppTarget, :exclusive => true do
pod 'Typhoon'
end
Dynamic Framework
If you're using Swift, you may wish to install dynamic frameworks, which can be done with the Podfile shown below:
# platform *must* be at least 8.0
platform :ios, '8.0'
# flag makes all dependencies build as frameworks
use_frameworks!
# framework dependencies
pod 'Typhoon'
Simply import the Typhoon module in any Swift file that uses the framework:
import Typhoon
With Carthage
github "appsquickly/Typhoon"
From Source
Alternatively, add the source files to your project's target or set up an Xcode workspace.
NB: All versions of Typhoon work with iOS5 and up (and OSX 10.7 and up), iOS8 is only required if you wish to use dynamic frameworks.