Ios 스위프트 카카오톡 로그인 오류 문의드립니다

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


사용하는 SDK 버전 정보는 2.21.1 입니다.
디벨로퍼스 앱ID는 1063664 입니다.

@objc func kakaoLoginButtonTapped() {
    print("카카오 로그인 버튼 클릭")
    print(UserApi.isKakaoTalkLoginAvailable())
    if(UserApi.isKakaoTalkLoginAvailable()) {
        UserApi.shared.loginWithKakaoTalk { (oauthToken, error) in
            if let error = error {
                print(error)
            } else {
                print("카카오톡 로그인 성공 - 카카오 앱으로 로그인")
                self.setUserInfo()
                _ = oauthToken
            }
        }
    } else {
        UserApi.shared.loginWithKakaoAccount { oauthToken, error in
            if let error = error {
                print(error)
            } else {
                print("카카오톡 로그인 성공 - 카카오 계정으로 로그인")
                self.setUserInfo()
                _ = oauthToken
            }
        }
    }
}

코드는 위와 같습니다. 카카오톡 로그인 버튼을 구현하였는데, 앱이 설치됬는지 판단하는 if문에서
UserApi.isKakaoTalkLoginAvailable()가 false로 반환이 됩니다. 혹시나 카톡 앱 설치 인식을 못하나 해서 else에 loginWithKakaoTalk을 작성하고 실행했는데 정상적으로 설치 인식도 되고 이전 화면으로 돌아옵니다.
근데 왜 자꾸 print(UserApi.isKakaoTalkLoginAvailable()) 결과로 false가 나오는 지 모르겠습니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>kakao74297ff3e5563ab2cece46b66191ff99</string>
			</array>
		</dict>
	</array>
	<key>UIAppFonts</key>
	<array>
		<string>BMJUA_otf.otf</string>
		<string>NanumSquareRoundEB.ttf</string>
		<string>NanumSquareRoundB.ttf</string>
		<string>NanumSquareRoundR.ttf</string>
	</array>
	<key>UIApplicationSceneManifest</key>
	<dict>
		<key>UIApplicationSupportsMultipleScenes</key>
		<false/>
		<key>UIApplicationSupportsTabbedSceneCollection</key>
		<false/>
		<key>UISceneConfigurations</key>
		<dict>
			<key>UIWindowSceneSessionRoleApplication</key>
			<array>
				<dict>
					<key>UISceneConfigurationName</key>
					<string>Default Configuration</string>
					<key>UISceneDelegateClassName</key>
					<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
					<key>UISceneStoryboardFile</key>
					<string>Main</string>
				</dict>
			</array>
		</dict>
	</dict>
</dict>
</plist>

info.list도 추가했습니다.

해결했습니다.

 <key>LSApplicationQueriesSchemes</key>
  <array>
      <!-- 카카오톡으로 로그인 -->
      <string>kakaokompassauth</string>
      <!-- 카카오톡 공유 -->
      <string>kakaolink</string>
 </array>```

위 코드를 작성하면 계속 아래 처럼 바뀌었는데

	<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleTypeRole</key>
			<string>Editor</string>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>kakao_key</string>
			</array>
		</dict>
	</array>
	

여기 코드에 추가로 첫번째 코드를 한번더 작성해서 넣으니 정상작동하네요.

2개의 좋아요