'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.5.99. 

iOS앱을 빌드하는데 계속해서 발생하였다.

일단 XCode에서 뭔가 target을 맞춰주어야 할 것 같다.

 

현재 iOS 12.0에 맞춰져 있다.

로그에서는 현재 11.0으로 맞춰져있다고 하는데 무엇이 문제일까.

 

XCode좌측창 네비게이션 맨우측 메뉴를 클릭하면 자세한 내용을 볼 수 있다.

 

그리고 오류가 알려주는 곳 위치를 들어가니 iOS Deployment Target이 iOS 11.0으로 맞춰져있다?

 

Pods의 ResourceTarget에 iOS 11.0으로 되어있다. 12.0으로 맞춰보자.

 

이제부터 무언가 빠졌는지를 제공해주는 에러로그가 표출된다.

PhaseScriptExecution FlutterFire: 라는 로그가 표출된다.

 

flutterfire: command not found: 이것은 파이어베이스 연결시 flutterfire라는 명령어를 실행할 수 없음을 나타내는 것 같다.

파이어베이스 연결부분을 다시 확인해보자

링크 : https://firebase.google.com/docs/flutter/setup?hl=ko&platform=web

 

터미널 창에 다음과 같이 명령한다.

curl -sL https://firebase.tools | bash

 

현재 내 맥에는 firebasetools가 다운로드 되어 있기 때문에 다음 명령어를 권유 받았다.

curl -sL firebase.tools | upgrade=true bash

 

 

FlutterFire설치명령어

dart pub global activate flutterfire_cli

 

FlutterFire환경변수를 설정해주어야 한다.

 

나는 현재 환경변수를 .zshenv파일로 관리하고 있다.

다음 명령을 추가하여 환경변수에 추가해준다.

sudo echo PATH=$PATH:$HOME/.pub-cache/bin > ~/.zshenv

 

그리고 다시 FlutterFire명령어를 수행한다.

 

정상적으로 잘설치되었고,

Xcode로 돌아와서 CleanBuildFolder를 한다.

 

 

다시 빌드 시도.

 

성공..!!

안드로이드에서는 당연하게 릴리즈(배포)버전을 등록할 때 프로가드 규칙을 적용한다.

 

프로가드(proguard)란?

난독화를 시켜주는 것이다.

앱이 배포되고 나서 중요한 정보가 오가는 앱 내부 정보가 유출되면 안되기 때문이다.

 

 

유지보수중인 앱에서 계속해서 ClientError가 발생하였었다.

에러메시지에는 토큰을 찾을 수 없다 하였지만, 디버그 모드에서 확인시 토큰을 정상적으로 잘전달되었다

.

 

도대체 무엇이 문제인가 계속해서 보던 와중,

디버그 모드에서는 정상적으로, 릴리즈 모드에서는 안되는 것을 확인하였다.

처음엔 TargetSDK가 33, 34일 때의 문제인 줄 알았으나, 아니였다.

 

다시 한 번 카카오 문서를 들여다 보았고, 프로가드 규칙 예외처리가 있었다...

링크 : https://developers.kakao.com/docs/latest/ko/android/getting-started#project-pro-guard

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

# kakao
-keep class com.kakao.sdk.**.model.* { <fields>; }
-keep class * extends com.google.gson.TypeAdapter

# https://github.com/square/okhttp/pull/6792
-dontwarn org.bouncycastle.jsse.**
-dontwarn org.conscrypt.*
-dontwarn org.openjsse.**

 

 

앱이 오래되었고, 난독화가 안되어 있길래, 난독화를 적용해서 에러로그만 보이도록 예외처리 하였으나,

카카오 로그인이 암호화에 영향이 있는지는 이번 기회에 알게 되었다.

 

내가 적용하여 발생한 버그이지만..

개인적으로 억울하면서도 여러가지 감정이 느껴진다*: .。. o(≧▽≦)o .。.:*

 

 

추가로 네이버는 개발자센터에서 제공하는 것이 아닌 네이버 깃에 공유되어 있다.

링크 : https://github.com/naver/naveridlogin-sdk-android/issues/34

# naver login SDK 5.1.1
-keep public class com.nhn.android.naverlogin.** {
public protected *;
}
-keep public class com.navercorp.nid.** {
public *;
}

 

 

 

감사합니다🍺

+ Recent posts