Injection, or Controlling your Tools

F116cb3be23153ec08b94e8bd4dbcfeb?s=47 Orta
August 08, 2016

Injection, or Controlling your Tools

The largest OSS projects in the iOS ecosystem comes from people who have said “the tools we have are insufficient” and were unwilling to wait for Apple to fix them. There are still a lot of holes to be filled and as individuals we should be devoting time to helping ourselves and each other.

This talk is about the my struggles with accepting that sometimes it’s up to you to be the change you want in the world.

F116cb3be23153ec08b94e8bd4dbcfeb?s=128

Orta

August 08, 2016
Tweet

Transcript

  1. INJECTION

  2. OR

  3. CONTROLLING YOUR TOOLS

  4. None
  5. ORTA

  6. 10 years ago

  7. CRUD

  8. CRUD

  9. DRAG & DROP PLAYING MEDIA LOADING NIBS

  10. The original brief had no concept of Unconventional Instruments, which

    came in by user requests and eventually grew to be roughly half the project. “
  11. I had to read 4 books before I was close

    to being even slightly competent in writing software for Mac OS X. “ “
  12. None
  13. 4 years ago

  14. None
  15. None
  16. 2 years ago

  17. 2 years ago

  18. None
  19. None
  20. None
  21. 3 months ago

  22. None
  23. None
  24. None
  25. None
  26. None
  27. Listen id nc = [NSNotificationCenter defaultCenter]; SEL injected = @selector(appHasBeenInjected:);

    NSString *key = @“INJECTION_BUNDLE_NOTIFICATION”; [nc addObserver:self selector:injected name:key object:nil];
  28. - (void)appHasBeenInjected:(NSNotification *)notification { [self.rootNav popViewControllerAnimated:NO]; [self runDeveloperExtras]; } in

    jected
  29. - (void)runDeveloperExtras { NSString *path = @“/artwork/glenn-brown”; id switchboard =

    [ARSwitchBoard sharedInstance]; id viewController = [switchboard loadPath:path]; [self pushViewController:viewController animated:YES]; } Recreate
  30. None
  31. - Xcode Plugin - Keeps track of all changed files

    - Compiles the changed files via terminal to bundle - Bundle is passed to an Injection server in your app - Server receives bundle, and loads it - Server replaces methods in old classes with new ones - Server sweeps though all app memory for instances - Server notifies all objects they’ve been changed HOW
  32. CAVEATS - Won’t work for Swift purists - Works fine

    for pragmatic programmers - Requires un-signing Xcode 8
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. REACT WEB IOS

  41. REACT Share Ideas Hot Reloading Open Toolchain

  42. REACT

  43. HOPE

  44. HOPE

  45. HOPE

  46. YOU