[iOS] [Swift] InjectionIII로 개발생산성 증가 시키기
Code Injection
은 클래스, 구조체, 또는 열거형의 함수나 메서드등을 실시간으로 업데이트시켜 개발 생산성
을 향상시켜줍니다. 특히, UI
를 짜는 프론트엔드
개발자들에게는 완소적인 기능이죠.
과거 Flutter
로 사내 엔터프라이즈 앱을 출시 한 경험이 있는데 가장 눈에띄는건 Hot Reload
였습니다. Code-based
로 작성한 UI
를 실시간으로 확인할 수 있다보니 생산성
이 매우 높아졌습니다.
물론 Apple
에서도 Preview
라는 시스템을 도입하긴했지만 iOS 13
부터 사용할 수 있어 minimum deployment target
이 낮은 앱들에게는 아직 제한적인 상황입니다.
이럴때 InjectionIII
을 사용하면 이러한 Preview
와 같은 효과를 낼 수 있습니다.
*사용법도 매우 간단합니다.*
InjectionIII
다운받기
https://github.com/johnno1962/InjectionIII 에 들어가셔서
오른쪽 하단에 있는 Releases
를 클릭 하신 후에
source code
를 받아줍니다.
설치를 마무리하시면 상단 상태바
에
위와같은 아이콘이 떠있게 됩니다.
2. InjectionIII
초기세팅!
에서 아래 2가지를 설정해주셔야 합니다!
- Open Project
- Add Directory
- Prepare Project
i. Open Project
에는
와 같이 프로젝트 파일을 설정해주시고
ii.Add Directory
에는
위와같이 파일 디렉토리
를 설정해주시면 됩니다.
iii.Prepare Project
를 클릭하시면
이런 팝업창이 뜰텐데 Go ahead
클릭하셔서 진행해주시면 됩니다!
그러면 Xcode
콘솔에 아래와 같이 찍히면 InjectionIII
초기세팅은 마무리 되었네요 :)
3. XCode
초기세팅!
i. App Delegate
에
와 같이 설정해주세요
ii. Build Settings
의 Other Linker Flags
값에 -Xlinker -interposable
를 추가해줍니다
iii. 마지막으로
와 같이 injected
함수 내부에 사용 할 View
를 대입해 줍니다.
이제 모든 세팅은 끝났으니 빠르게 개발해볼까요?
(재 갱신을 위해서는 Injected
함수가 정의된 ViewController
에서 Command+S
를 눌러주시면 됩니다!)