분류 전체보기

    KMM 프로젝트 XCode 상에서 열어서 iOS 디바이스에서 실행하기

    이전 글 Android Studio KMM(Kotlin Multiplatform Mobile) 개발 환경 설정하고 앱 만들어보기 안드로이드 스튜디오에서 KMM(Kotlin Multiplatform Mobile) 앱을 개발하기 위해서는 KMM 개발용 플러그인을 설치해야 한다. 이번 글에서는 KMM 용 플러그인을 설치하는 방법과, 해당 플러그인을 사용해 프 kotlinworld.com 이전 글에서는 안드로이드 스튜디오를 사용해 KMM 프로젝트 XCode 상에서 열기 KMM 프로젝트를 XCode 상에서 열기 위해서는 iosApp 모듈을 XCode 상에서 열어야 한다. iOS앱 모듈에서는 iosApp.xcodeproj 파일이 있는데, 이곳에 XCode에서 iOS 앱 개발 환경을 구성하기 위한 메타 정보들이 들어..

    [오류 해결 방법] The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 16.0, but the range of supported deployment target versions is 9.0 to 15.2.99.

    오류 메세지 KMM 앱을 iOS로 빌드 중 아래와 같은 오류 메세지를 확인했다. The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 16.0, but the range of supported deployment target versions is 9.0 to 15.2.99. 이 오류 메세지를 직역하면 다음과 같은 말이다. iOS deployment target 버전 'IPHONEOS_DEPLOYMENT_TARGET'은 16.0으로 설정되어 있으나 지원되는 deployment target 버전 범위는 9.0~15.2.99이다. 원인 이 메세지는 XCode에서 지원하는 iOS Deployment Target 버전을 벗어난 버전으로 iOS 프로젝트..

    Android Studio KMM(Kotlin Multiplatform Mobile) 개발 환경 설정하고 앱 만들어보기

    안드로이드 스튜디오에서 KMM(Kotlin Multiplatform Mobile) 앱을 개발하기 위해서는 KMM 개발용 플러그인을 설치해야 한다. 이번 글에서는 KMM 용 플러그인을 설치하는 방법과, 해당 플러그인을 사용해 프로젝트를 만드는 방법까지를 학습해볼 것이다. KMM 플러그인 설치하기 1. 안드로이드 스튜디오를 켜면 다음과 같은 화면이 나온다. 2. 이 화면에서 왼쪽에 Plugin을 누르고, Kotlin Multiplatform을 검색하면, Kotlin Multiplatform Mobile 플러그인이 나온다. 이걸 Install을 누른다. 3. 설치가 완료되면, 안드로이드 스튜디오를 재시작하라는 팝업이 나오고, 재시작(Restart) 버튼을 누르면, 플러그인의 설치가 완료된다. 여기까지 KMM ..

    [Kotlin] fun interface와 SAM(Single Abstract Method) 한 번에 정리하기

    SAM(Single Abstract Method) 인터페이스란? SAM 인터페이스는 이름 그대로, 하나의 추상 메서드만을 가진 인터페이스이다. 예를 들어 다음과 같이 SAMSample 인터페이스를 만들고 내부에 foo 함수 하나만을 넣는다면, 이것은 SAM 인터페이스가 된다. fun interface SAMSample { fun foo() } *Kotlin 1.4 이후부터는 SAM 인터페이스를 사용하기 위해서는 fun interface 키워드를 사용해야 한다. *Kotlin 1.4부터는 Java의 SAM 인터페이스에 대해 자동으로 SAM 변환을 지원한다. SAM 인터페이스가 중요한 이유는 이러한 SAM 인터페이스는 Kotlin의 함수형 프로그래밍을 깔끔하게 만들어주는 역할을 하기 때문이다. 기본적으로 인..

    [Android] LifecycleEventObserver 사용해 Activity 생명주기에 대한 콜백 등록하기: onStart, onResume, onPause, onStop 등에 대한 콜백 등록하기

    일반적인 Activity 생명주기에 대한 콜백 등록 방법 일반적으로 Activity 생명주기에 대한 콜백을 등록하기 위해서는 Activity 수준에서 onStart, onResume, onPause, onStop 등의 함수들을 override 하고 그 함수에 해당 콜백을 등록해야 한다. class MainActivity : ComponentActivity() { ... override fun onStart() { super.onStart() println("onStart 콜백") } override fun onResume() { super.onResume() println("onResume 콜백") } override fun onPause() { super.onPause() println("onPause..