-1015, -21XX (SDK 인증 에러)
플랫폼별 초기화 방법
Android와 iOS는 SDK 초기화 API와 에러 확인 방식이 서로 다릅니다. 에러 발생 원인과 해결 방법에도 플랫폼별 차이가 있으므로, 검증을 시작하기 전에 대상 플랫폼을 먼저 확인하세요.
| 항목 | Android | iOS |
|---|---|---|
| 초기화 메서드 | setCertification(key, expireDate, isTablet) | storage.applicationKey / applicationBundleID / applicationExpireDate 설정 후 start() |
| 에러 확인 방법 | getErrorCode() 반환값 확인 (동기 방식) | start() 실행 시 예외 처리 발생 (try/catch 방식) |
| 인증 식별자 | 앱 패키지명(applicationId) 자동 추출 | Bundle ID(CFBundleIdentifier) 명시적 입력 |
| 추가 파라미터 | isTablet(모바일 및 태블릿 구분 값) | 없음 |
| 디바이스 바인딩 | setDevice(path, isTablet) 별도 호출 필요 | start() 메서드 실행 시 내부적으로 자동 처리 |
-2103
- 에러 코드: -2103
- 타입: 플랫폼별로 상수명 상이
- iOS:
ERROR_INCORRECT_BUNDLE_ID - Android:
ERROR_INCORRECT_PACKAGE_NAME
- iOS:
- 요약: SDK 초기화 시 전달한 인증 정보(키, 만료일, Bundle ID 또는 패키지명)가 발급 기록과 일치하지 않음
원인
| 원인 | 플랫폼 | 설명 |
|---|---|---|
| Bundle ID 불일치 | iOS | 소스 코드의 storage.applicationBundleID 설정값이 프로젝트 Info.plist에 정의된 실제 CFBundleIdentifier 값과 다른 경우입니다. |
| 패키지명 불일치 | Android | SDK가 자동으로 추출한 앱의 패키지명과 라이선스 발급 시 등록한 패키지명(applicationId)이 다른 경우입니다. |
| Debug/Release 빌드 혼용 | Android, iOS | 빌 드 구성(Variant/Target)별로 식별자를 다르게 설정해 둔 상태에서, 라이선스 키를 교차 복사하여 혼용한 경우입니다. |
| 개발/운영 앱 혼용 | Android, iOS | 개발용(Debug) 키로 빌드한 앱을 운영 환경에서 실행하거나, 반대로 운영용(Release) 키를 개발 환경에서 테스트한 경우입니다. |
주의
SDK 키 문자열과 만료일 날짜가 정확하더라도, Android의 패키지명이나 iOS의 Bundle ID가 등록된 정보와 다르면 -2103 에러가 발생하므로 주의하세요.
진단 (Android)
- 초기화 코드가 호출되는 모듈의
build.gradle파일을 열고applicationId값을 확인하세요. - 멀티 모듈 구조이거나 빌드 변형(Build Flavors/Product Flavors)을 사용하는 경우, 현재 빌드된 Variant의 최종
applicationId문자열을 확인하세요. - SDK가 내부적으로 자동 추출한 패키지명과 라이선스 발급 시 등록한 패키지명이 정확히 일치하는지 비교하세요.
진단 (iOS)
- Xcode 프로젝트 설정의 [Target] > [General] > [Identity] > [Bundle Identifier] 경로에 정의된 값을 확인하세요.
- 소스 코드에서
storage.applicationBundleID에 대입한 문자열과 Xcode의CFBundleIdentifier값이 대소문자까지 완벽히 일치하는지 확인하세요.
storage.applicationBundleID = "com.example.myapp" // Info.plist의 CFBundleIdentifier와 정확히 일치해야 합니다.
- 빌드 구성(Debug/Release)에 따라 Bundle ID가 다르다면 빌드 환경별로 알맞은
applicationBundleID와 SDK 키가 매치되도록 분기 처리가 되어 있는지 확인하세요.