Closed Jeeehee closed 1 year ago
KakaoSDK 초기화를 AppDelegate에서 하는 이유는, App 실행시 초기화 하기 위함이라고 생각했습니다.
하지만 해당 프로젝트에서는 사용자가 Button을 눌러야 Kakao Login에 대한 로직이 실행되기 때문에,
이벤트를 받은 후 초기화를 진행해도 되지 않을까?
라는 생각이 들었습니다.
Clean Architecture대로 ViewModel이 UseCase를 바라보게 한 뒤, View과 ViewModel을 binding해 해당 로직을 수행시켰습니다. 변경 이후 문제없이 실행되는것을 확인했습니다.
사전 설명
Kakao Login 문서에 따라, AppDelegate에서
KakaoSDKAuth
초기화를 진행해야합니다. 초기화 코드는KakaoSDK.initSDK(appKey: )
로 이때, AppKey가 사용됩니다.프로젝트에 적용한 아키텍처는 MVVM + Clean Architecture 로 AppKey를 가져오는 로직의 도식화는 아래와 같습니다.
UseCase에서
@escaping closure
로 성공시 AppKey를 반환합니다.고민
AppDelegate에서 AppKey가 필요한데, 이 키를 AppDelegate에 어떻게 넘겨줄까? 라는 고민과 함께 AppDelegate가 UseCase의 인스턴스를 갖고있고, 해당 메서드를 호출해도 의존성에 문제가 없는것인가? 라는 고민이 들었습니다.