ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Injection for Xcode
Outline
? What¡¯s Injection for Xcode
? Demo
? How it Works & Limitations
? History
? Injection TDD
What¡¯s Injection
Plugin for Xcode ¡ú Standalone app (Xcode 8.3.3 & up)
Hot Reload (without making any changes to your project)
Save compile time
Without making any changes to projects
Change Compile Find Check
> 2 sec, up to minute
Change CheckInject
< 2 sec
Demo
How it Works & limitations
Method Swizzling
Must inherit from NSObject (i.e., not struct, enum)
Method dispatch must Not be direct dispatch, (i.e., not - final, -private, extension methods)
http://bit.ly/2AjZByA
History
1. Before Xcode 8 : direct installed by Alcatraz
2. Xcode 8 : signed Xcode(remember Xcode ghost?)
3. Mac App(Injection II) : for Xcode 8.3.3
4. Mac App(Injection II) : separate version for Xcode 9
5. Mac App(Injection III) : upcoming re-write (mostly) in Swift4
Injection TDD
pod InjectionTDD
Test all kinds of Swift types with all dispatching mechanisms.
http://bit.ly/2lTlKhV
Xcode 9.2 - Build System
Xcode 9 - New Build System
Injection introduction 20171120
Injection introduction 20171120

More Related Content

Injection introduction 20171120

  • 2. Outline ? What¡¯s Injection for Xcode ? Demo ? How it Works & Limitations ? History ? Injection TDD
  • 3. What¡¯s Injection Plugin for Xcode ¡ú Standalone app (Xcode 8.3.3 & up) Hot Reload (without making any changes to your project) Save compile time Without making any changes to projects Change Compile Find Check > 2 sec, up to minute Change CheckInject < 2 sec
  • 5. How it Works & limitations Method Swizzling Must inherit from NSObject (i.e., not struct, enum) Method dispatch must Not be direct dispatch, (i.e., not - final, -private, extension methods) http://bit.ly/2AjZByA
  • 6. History 1. Before Xcode 8 : direct installed by Alcatraz 2. Xcode 8 : signed Xcode(remember Xcode ghost?) 3. Mac App(Injection II) : for Xcode 8.3.3 4. Mac App(Injection II) : separate version for Xcode 9 5. Mac App(Injection III) : upcoming re-write (mostly) in Swift4
  • 7. Injection TDD pod InjectionTDD Test all kinds of Swift types with all dispatching mechanisms. http://bit.ly/2lTlKhV
  • 8. Xcode 9.2 - Build System
  • 9. Xcode 9 - New Build System