개발/Desktop
[Desktop] 데스크탑 애플리케이션 아이콘 설정 (with. Intellij, Mac)
JhDroid
2023. 5. 26. 00:22
728x90
개요
- 데스크탑 애플리케이션에 아이콘을 설정하는 방법을 알아보겠습니다!
- 작업 환경
- Intellij IDEA CE
- Compose Desktop Project
- Mac OS
- Intellij IDEA CE
아이콘을 설정해보자
- 우선 Intellij IDEA를 통해 Compose Desktop 플랫폼 개발을 위하 프로젝트를 생성해줍니다.
- Compose Multiplatform > Configuration (글에서는 아이콘 설정만 할 프로젝트라 Single 플랫폼을 선택) > 생성
- Android나 iOS앱을 같이 작업하려면 Mutlple 플랫폼을 선택해도 되지만 모듈이 추가되는거 말고 큰 차이는 없습니다.
- 프로젝트를 생성 후 build.gradle.kts를 열어서 확인해보면 하단에 desktop 관련 설정이 있습니다.
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "AppIcon"
packageVersion = "1.0.0"
}
}
}
- mainClass : 이 부분은 수정하면 빌드 단계에서 에러가 발생합니다.
- Main.kt 파일명을 수정했거나 Main 클래스를 변경했다면 이 부분을 변경해줘야 정상적으로 실행됩니다.(추후 자세히 다룸)
- targetFormats : 나중에 다룰 패키징할 때와 관련이 있는 설정입니다. 어떤 실행 파일을 지원할지 결정해주는 설정이라고 보시면 됩니다.
- packageName : Mac OS 기준으로는 packageName이 애플리케이션 이름 역할을 했습니다. (그 외 플랫폼은 잘..)
- packageVersion : 추후에 앱 업데이트할 때 관련이 있을거 같은데 이 부분은 아직 확인이 부족해서 추후에 업뎃 하겠습니다..
- 여기서 작업 환경에 맞게 필요없는 부분을 날려보겠습니다. (작성자는 맥북 사용하고 있어서 Mac OS 기준으로 설정)
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg) // 일단 Mac만 지원하므로 .dmg 만 남김
packageName = "AppIcon"
packageVersion = "1.0.0"
macOS {
packageName = "AppIcon" // Mac 애플리케이션의 이름 (상단 OS 상태바에 표시되는 이름)
dockName = "AppIcon" // Mac 애플리케이션 하단 독에서 노출된 이름
}
}
}
}
- 이제 기초 설정은 끝났고 사용할 아이콘을 root 디렉토리에 추가해줍니다.
- 파일 확장자는 icns로 했지만 png, jpg 까지 되는건 확인했습니다.
- icon 이미지를 추가해주고 build.gradle.kts로 돌아와 아이콘 이미지를 설정해줍니다.
compose.desktop {
application {
mainClass = "MainKt"
nativeDistributions {
targetFormats(TargetFormat.Dmg)
packageName = "AppIcon"
packageVersion = "1.0.0"
macOS {
packageName = "AppIcon"
dockName = "AppIcon"
// icon 설정
iconFile.set(project.file("icon.icns"))
}
}
}
}
- 설정은 이걸로 끝입니다! 이제 Main.kt를 실행시키면 ?
- 뭐야 왜 외않되?? 라고 당황하실 수 있는데 아마 프로젝트를 생성하고 애플리케이션을 실행할 때 대부분 main() 함수를 실행하지 않을까 생각됩니다! 상단에 어떤걸 실행했는지 확인해보시면 MainKt인 경우가 많지 않을까 생각합니다. 제가 그랬거든요..
- 아이콘이 반영된것을 확인하기 위해서는 run configuration을 추가해주어야 합니다.
- 실행 란에 'run'을 작성하면 자동완성으로도 run이 뜰건데 이걸 선택해도 되고 그냥 run을 입력해도 됩니다! 확인이 됐다면 적용 > 확인을 눌러줍니다.
- 우측 상단에 MainKt로 설정되어있던게 Gradle 실행으로 변경됐다면 > 실행
- 정상적으로 아이콘이 반영된걸 확인할 수 있습니다!
* 글에 틀린 부분이 있으면 댓글 부탁드립니다 :D
728x90