iOS/Setting

Naver Login

Hamp 2025. 6. 30. 22:43
반응형

🏁 학습할 내용

  • 세팅
    • 패키지 설치
    • info.plist
    • URL Scheme 등록
  • 코드 
    • 초기화
    • 로그인

⚙️ 세팅

📦 패키지 설치

https://github.com/naver/naveridlogin-sdk-ios-swift

 

📋 Info.plist

각 키값과 value값을 info.plist에 넣어준다.

    <key>NidAppName</key>
    <string>{애플리케이션 이름}</string>
    <key>NidClientID</key>
    <string>{클라이언트 아이디}</string>
    <key>NidClientSecret</key>
    <string>{클라이언트 시크릿}</string>
    <key>NidUrlScheme</key>
    <string>{콜백 URL Scheme}</string>
⚠️ 참고
콜백 URL Scheme은 서비스 앱에서 유니크한 값을 사용해야합니다. 위 값이 사용자 기기에 설치된 다른 앱과 중복될 경우, 해당 기능이 비정상적으로 동작할 수 있습니다.이를 방지하려면 단순한 값보다는 앱 이름, bundle identifier 등 고유 정보를 포함한 형식의 URL Scheme을 사용하는 것이 좋습니다.

📝 URL Scheme 등록

로그인 이후 복귀를 위한 URL Scheme을 Target의 Info - URL Types에 등록해준다.

 

Identifer는 고유한 값을 , URL Schemes에는 위 .plist에 넣었던 콜백 URL Shceme을 똑같이 넣어준다.

 

이후, 우리 서비스에서 네이버 앱을 실행할 수 있도록, LSApplicationQueriesSchemes를 info.plist에 추가해준다.

<key>LSApplicationQueriesSchemes</key>
  <array>
    <string>naversearchapp</string>
    <string>naversearchthirdlogin</string>
  </array>

⌨️ 코드

🏃 초기화

@main
struct PoolApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

      init() {
        initNaverLoginInstance()
      }
      ...
      
	private func initNaverLoginInstance() {
        NidOAuth.shared.initialize()
        /// 네이버 앱이 설치된 경우 네이버 앱으로 인증, 네이버 앱이 설치되어있지 않은 경우 SafariViewController를 실행해 인증
        NidOAuth.shared.setLoginBehavior(.appPreferredWithInAppBrowserFallback)
  	}
  }

🧤 핸들링

.onOpenURL { url in
  if NidOAuth.shared.handleURL(url) == true { // 네이버 로그인 핸들링

  }
}

🔑 로그인

  private func loginWithNaver() {
    NidOAuth.shared.requestLogin { result in
      switch result {
      case let .success(response):
        print(response)
        break
      case let .failure(error):
        break
      }
    }
  }

🔒 로그아웃

  func logoutWithNaver() {
    NidOAuth.shared.logout()
  }

✂ 연결 끊기

  private func disconnectWithNaver() {
    NidOAuth.shared.disconnect { result in

    }
  }

출처

https://developers.naver.com/docs/login/ios/ios.md

 

iOS - LOGIN

iOS 위 문서는 네이버 아이디로 로그인 iOS SDK의 최신 버전에 대한 가이드를 제공합니다. 네이버 아이디로 로그인 iOS SDK는 서드파티 애플리케이션에서 네이버에서 제공하는 로그인, 로그아웃, 토

developers.naver.com

 

반응형