App모듈에서 SDK 초기화 후 다른 모듈에서 접근 시에 must be initialized 에러

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.

디벨로퍼스 앱ID : 913697
SDK 버전: 2.22.0


AppModule의 AppDelegate에서 KakaoSDK.initSDK(appKey: “네이티브 앱키”)를 넣고

다른 모듈 (로그인 Feautre)에서 UserApi.shared.loginWithKakaoTalk을 사용해서 로그인을 하려고 하면 initSDK(appKey:) must be initialized 에러가 납니다

appdelegate에서 초기화 해주고 나서 KakaoSDK.shared.appKey() 찍을때는 appkey가 존재했는데
다른 모듈로 이동해서 KakaoSDK.shared.appKey()를 찍을때 nil이 나옵니다

안녕하세요.

제작 하신 로그인 모듈 진입 전에 AppModule의 초기화 코드가 동작하고 있을까요?

AppMoudle의 초기화 코드가 동작하냐는 말씀이 AppModule에서 네이티브앱키가 정상적으로 들어갔는지 라는 의미로 이해하는게 맞는걸까요???

우선 AppModule에서 SDK 를 초기화하고 디버깅으로 appKey를 찍어보면 제대로 들어가있지만 LoginModule로 진입후에 AppKey를 찍으면 Nil이 반환됩니다

그래서 혹시 몰라서 시도해본 방법이 Shared같은 공용 모듈에서 SDK를 초기화하고 AppModule, LoginModule에서 Appkey를 찍어보니 제대로 들어가 있었고 로그인 까지 정상적으로 동작합니다

모듈이 바뀌면 다시 init 해줘야 되는 건가 싶고 아니면 하나의 모듈에서 init하고 그 모듈로 로그인을 시도해야되나 싶습니다

안녕하세요

KakaoSDK.initSDK() 는 내부적으로 싱글톤으로 동작하여 상위 모듈에서 초기화가 되었다면 하위 모듈에서도 SDK가 초기화가 되어야 합니다.

정확한 파악을 위하여, SDK 초기화 구문 코드와 각 모듈 디펜던시가 어떻게 되는지 공유 가능할까요?

초기화 구문 코드



모듈 디펜던시


이런식으로 되어있고 모든 모듈은 DynamicFramework로 되어있습니다

혹시 Tuist graph가 필요하다면 첨부하겠습니다 ㅠㅠ

@Jayven

안녕하세요.
appdelegate에서 초기화 해주고 나서 KakaoSDK.shared.appKey() 가 제대로 나오는 KakaoSDK.shared 인스턴스 어드레스와.
다른 모듈로 이동해서 KakaoSDK.shared.appKey()를 찍을때 nil이 나오는 KakaoSDK.shared 인스턴스 어드레스를 print해서 비교해 보시기 바랍니다.

서로 다른 모듈에서 KakaoSDK 모듈이 각각 사용되고 있는것으로 예상되며
사용하는 라이브러리 모듈을 잘 설계 하셔서 KakaoSDK의 모듈은 하나만 사용하게 해야 할듯합니다.