# Show GN: MacOS 앱배포를 위한 CLI 툴 feat .dmg, .pkg, codesign

> Clean Markdown view of GeekNews topic #17274. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=17274](https://news.hada.io/topic?id=17274)
- GeekNews Markdown: [https://news.hada.io/topic/17274.md](https://news.hada.io/topic/17274.md)
- Type: show
- Author: [ironpark](https://news.hada.io/@ironpark)
- Published: 2024-10-17T06:05:27+09:00
- Updated: 2024-10-17T06:05:27+09:00
- Original source: [github.com/ironpark](https://github.com/ironpark/zapp)
- Points: 14
- Comments: 0

## Summary

이 기사는 MacOS 앱 배포를 간소화하기 위한 CLI 툴 'ZAPP'의 필요성과 기능을 소개합니다. ZAPP은 Homebrew를 통해 간편하게 설치할 수 있으며, DMG 및 PKG 파일 생성, 코드 서명 및 공증 등 다양한 배포 기능을 하나의 도구로 제공합니다. 또한, 의존성 번들링 기능을 통해 별도의 라이브러리 설치 없이 앱 번들을 완성할 수 있어 배포 프로세스를 효율적으로 관리할 수 있습니다.

## Topic Body

### ZAPP  
MacOS 어플리케이션 배포를 간단하게.  
  
#### 만들게된 이유  
  
제경우 apple store 외부에서 macOS 앱을 빌드 배포하는 경우가 있는데요.   
  
이때 바이너리 의존성 통합 -> app 번들 코드서명,공증 -> dmg 파일 생성  -> 서명 및 공증 프로세스를 거칩니다.   
  
이를 CI/CD 에 통합하려고 위해 다양한 툴을 설치하고 스크립트를 작성하게 되는데 배포 프로세스도 오래걸리고 새 프로젝트마다 반복되는 설정이 너무 번거로워 툴을 만들게 되었고 개인적인 최소한의 기준점을 넘어 이렇게 소개드립니다 :)  
  
#### 뭐가 다르죠?  
  
- **간편한 설치**: 다른 바이너리 혹은 런타임 의존성없이 Homebrew를 통해 단일 바이너리로 빠르게 설치할 수 있어 CI 프로세스에 쉽게 통합할 수 있습니다.  
- **다기능 통합**: DMG 파일 생성, pkg 파일 생성, 서명 및 공증 기능 등 배포에 필요한 다양한 기능을 하나의 도구에 담았습니다.  
  
#### 주요기능  
- 단일 명령어로 드래그&드롭 방식의 설치 dmg 파일 생성  
- `pkg` 설치파일 생성  
- 서명, 공증, staple 기능  
- 실행파일에서 사용하는 공유 라이브러리를 검색하여 앱번들 내부에 복사하고 링크 경로를 수정하여 별도의 라이브러리 설치 없이 사용할 수 있게 만들어주는 **의존성 번들링** 기능  
  
```  
세부내용은 README 에 더 자세하게 있습니다.  
내용상 부족하다고 느끼는 부분이 있으면 알려주세요!  
  
그 외에도 문서 수정, 코드 리팩토링, 기능제안, 버그 등 다양한 기여를 환영합니다!  
```

## Comments



_No public comments on this page._
