[Flutter] Kakao Login /Info.plist

Comely·2025년 2월 15일

Flutter

목록 보기
25/26

✅ Info.plist에 카카오 SDK 설정 예제

iOS에서 카카오 로그인, 공유, 채널 기능을 사용하려면
ios/Runner/Info.plist
아래 설정을 추가해야 합니다.

<?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>
    <!-- 앱의 번들 식별자 (Firebase 및 Kakao 설정에서 동일해야 함) -->
    <key>CFBundleIdentifier</key>
    <string>com.timelog.app</string> <!-- 여기 패키지명을 본인 앱에 맞게 변경 -->

    <!-- iOS 9.0 이상에서 특정 앱 실행 허용 (카카오톡 로그인, 공유, 채널 기능) -->
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <!-- 카카오톡으로 로그인 -->
        <string>kakaokompassauth</string>
        <!-- 카카오톡 공유 -->
        <string>kakaolink</string>
        <!-- 카카오톡 채널 -->
        <string>kakaoplus</string>
    </array>

    <!-- URL 스킴 설정 (Kakao 로그인 Redirect URI) -->
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>kakao${KAKAO_NATIVE_APP_KEY}</string> <!-- ${KAKAO_NATIVE_APP_KEY}를 실제 키로 변경 -->
            </array>
        </dict>
    </array>

    <!-- Firebase 설정 (Google 로그인 등을 위해 필요) -->
    <key>FirebaseDeepLinkScheme</key>
    <string>com.timelog.app</string>

    <!-- 기타 설정 (앱 이름, Firebase 관련) -->
    <key>CFBundleDisplayName</key>
    <string>TimeLog</string>

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
</dict>
</plist>

✅ 설명
1. CFBundleIdentifier → iOS 번들 ID (Firebase 등록한 ID와 일치해야 함)
2. LSApplicationQueriesSchemes → 카카오 로그인, 공유, 채널 기능을 위한 허용 목록
3. CFBundleURLTypes → 카카오 Redirect URI 설정 (네이티브 앱 키 필요)
4. kakao${KAKAO_NATIVE_APP_KEY}에서 ${KAKAO_NATIVE_APP_KEY}를 카카오 개발자 콘솔에서 발급한 키로 변경
5. FirebaseDeepLinkScheme → Firebase 관련 딥링크 설정
6. NSAppTransportSecurity → NSAllowsArbitraryLoads 설정으로 네트워크 요청 허용

CFBundleURLTypes 설정은 필수가 아닙니다.

<!-- URL 스킴 설정 (Kakao 로그인 Redirect URI) -->
   <key>CFBundleURLTypes</key>
   <array>
       <dict>
           <key>CFBundleURLSchemes</key>
           <array>
               <string>kakao${KAKAO_NATIVE_APP_KEY}</string> <!-- ${KAKAO_NATIVE_APP_KEY}를 실제 키로 변경 -->
           </array>
       </dict>
   </array>

1️⃣ 필요한 경우

  • 카카오 로그인 리디렉트 URI를 iOS 앱에서 직접 처리할 경우
  • 카카오톡을 통한 로그인 후, 앱으로 돌아오는 동작이 필요한 경우
  • 앱에서 UIApplication.openURL()로 특정 URL을 열어야 하는 경우
    📌 예제:카카오 로그인 후 앱이 자동으로 돌아와야 한다면, kakao{KAKAO_NATIVE_APP_KEY} 설정이 필요함.

2️⃣ 없어도 되는 경우

  • Firebase Authentication과 연동하여 로그인하는 경우

    • 예: Firebase에서 자체적으로 OAuth 리디렉트를 처리하면 불필요
  • 카카오 로그인 후, Firebase에서 ID 토큰을 받아 인증하는 경우

  • 앱 내에서 직접 URL을 처리하지 않는 경우
    📌 예제:카카오 로그인 후 Firebase의 OIDC 제공자를 통해 인증한다면, iOS에서 직접 URL 스킴을 처리하지 않아도 됨.

🔥 결론

Firebase OIDC 방식으로 카카오 로그인을 사용하면 없어도 됨.
iOS에서 직접 카카오 로그인 처리를 해야 한다면 필요함.
일단 CFBundleURLTypes를 빼고 테스트해보고, 문제 있으면 추가하는 게 좋음.

profile
App, Web Developer

0개의 댓글