macOS 앱·브랜드 키트를 넘길 때 .icns 한 방과 .iconset 폴더(다중 PNG) 중 무엇을 줄지, 색은 sRGB로 어디까지 맞출지가 흔한 분기점입니다. 여기서는 비교 표로 형식을 고르고, 표준 픽셀·파일명 표로 슬롯을 채운 뒤, sips·iconutil과 배치 루프 예시로 원격 Mac M4에서 재현 가능한 납품 바를 정리합니다. iOS 세트는 iOS App Icon PNG 매트릭스·Contents.json 일괄 검증과 병행하세요.
① 납품 형식 비교: .icns vs .iconset
Xcode·스크립트·외주 브리프마다 기대 산출물이 다릅니다. 아래를 기준으로 단일 진실을 티켓 상단에 고정하세요.
| 항목 | .iconset (PNG 묶음) |
.icns (단일 리소스) |
|---|---|---|
| 구조 | 폴더 + 규칙적 파일명·픽셀 | 여러 크기가 포장된 바이너리 |
| Xcode·카탈로그 | 직접 대응하기 쉬움 | 변환·임포트 단계가 추가될 수 있음 |
| 디자인 diff·리뷰 | 파일별 시각 비교·치수 자동화에 유리 | 추출 없이는 픽셀 단위 리뷰가 불편 |
| 배치 파이프라인 | sips 루프 후 폴더 검증 |
마지막에 iconutil -c icns |
| 권장 시나리오 | 에셋 카탈로그·브랜드 키트 원본 납품 | 레거시 빌드·일부 패키징 스크립트 |
② .iconset 표준 슬롯(파일명 → 픽셀)
이름과 정확한 가로·세로가 어긋나면 iconutil이 거부하거나 Finder/Xcode에서 흐릿·잘린 아이콘이 됩니다. 아래는 흔한 풀 세트 예입니다(프로젝트가 일부만 요구하면 브리프에 명시).
| 파일명 | PNG 픽셀 (W×H) | 비고 |
|---|---|---|
icon_16x16.png |
16×16 | 1× 베이스 |
icon_16x16@2x.png |
32×32 | 16pt @2x |
icon_32x32.png |
32×32 | |
icon_32x32@2x.png |
64×64 | |
icon_128x128.png |
128×128 | |
icon_128x128@2x.png |
256×256 | |
icon_256x256.png |
256×256 | |
icon_256x256@2x.png |
512×512 | |
icon_512x512.png |
512×512 | |
icon_512x512@2x.png |
1024×1024 | 마스터에 가장 가까운 슬롯 |
③ 색 공간·ICC: sRGB 검수 표
아이콘은 작은 캔버스라 색 시프트가 즉시 드러납니다. 팀 전체가 Mac PNG 색 관리 sRGB·P3 체크리스트와 동일한 언어를 쓰면 iOS·웹 슬라이스와도 충돌이 줄어듭니다.
| 검사 항목 | 권장 | 실무 메모 |
|---|---|---|
| 작업 색 공간 | 브랜드 합의 후 sRGB로 변환 수출 | “sRGB로 보인다”가 아니라 변환·태그 일관 |
| ICC 프로파일 | sRGB 프로파일 임베드 또는 명시 정책 | sips -g profile로 스팟 확인 |
| 비트 깊이 | 8비트 RGBA(필요 시) | 과도한 16비트 최종 납품은 드묾 |
| 알파 | 의도한 투명만 유지 | 가장자리 반투명 ‘헤일로’ 스팟 |
④ sips·iconutil·배치 예시
마스터를 master.png(가급적 1024×1024, sRGB)로 두고 슬롯을 채우는 패턴입니다. 프로파일을 강제하려면 시스템 sRGB ICC 경로를 사용합니다(환경에 따라 경로 확인).
단일 리사이즈·출력:
sips -z 512 512 master.png --out icon_512x512.png
sRGB ICC 부착(예시):
sips -m "/System/Library/ColorSync/Profiles/sRGB Profile.icc" master.png --out master_srgb.png
Bash: 목표 크기 배열 루프(이름은 표와 동일하게 매핑):
#!/usr/bin/env bash
set -euo pipefail
SRC="master_srgb.png"
OUT="AppIcon.iconset"
mkdir -p "$OUT"
# (파일명, 가로) 쌍을 표에 맞게 유지
declare -a PAIRS=(
"icon_16x16.png:16"
"icon_16x16@2x.png:32"
"icon_32x32.png:32"
"icon_32x32@2x.png:64"
"icon_128x128.png:128"
"icon_128x128@2x.png:256"
"icon_256x256.png:256"
"icon_256x256@2x.png:512"
"icon_512x512.png:512"
"icon_512x512@2x.png:1024"
)
for pair in "${PAIRS[@]}"; do
IFS=: read -r name sz <<< "$pair"
sips -z "$sz" "$sz" "$SRC" --out "$OUT/$name"
done
iconutil -c icns -o AppIcon.icns "$OUT"
대량·고해상도 원본에서 단계적으로 뽑을 때는 큐 규율을 원격 M4 4K PNG 일괄 수출 가이드와 맞추고, 병렬은 xargs -P로 슬라이스하되 동일 master에 대한 쓰기 충돌을 피합니다.
⑤ 검수 체크리스트(디자인 + 빌드)
| 검사 | 방법 | 합격 기준 |
|---|---|---|
| 픽셀 크기 | sips -g pixelWidth -g pixelHeight |
표 대비 ±0 |
| 파일명 | 스크립트·정규식 | icon_*.png 규칙·대소문자 일치 |
| 폴더 구조 | 수동·CI | *.iconset 디렉터리·누락 슬롯 없음 |
| ICNS 빌드 | iconutil -c icns |
오류 없이 산출 |
| 색 의도 | sips -g profile·스팟 비교 |
팀 sRGB 정책과 일치 |
| 가장자리 | 밝은/어두운 바탕 오버레이 | 의도치 않은 프린지·줄 없음 |
| 메타데이터 | 내부 정책에 따라 | 무손실 재압축은 ICC·무손실 재압축과 동일 바 |
⑥ FAQ: 둥근 모서리·투명 가장자리
둥근 모서리: 대부분의 macOS 앱 아이콘은 정사각 비트맵을 납품하고 시스템이 마스크를 적용합니다. 브리프에 “프리둥근 PNG”가 없다면 디자이너가 임의로 코너를 깎으면 Dock/설정과 어긋날 수 있습니다. 핵심 로고는 안전 영역 안에 두고, 마스크 적용 후 스크린샷으로 합의하세요.
투명 가장자리: P3에서 sRGB로만 덮어쓴 것처럼 보이는 잔색, 또는 이중 리사이즈로 생긴 반투명 테두리는 QA에서 자주 걸립니다. 한 번의 고품질 스케일·통일된 색 공간으로 맞추고, 의심 시 OpenClaw PNG 일괄 QC 패턴으로 알파·채널 검사를 자동화할 수 있습니다.
요약
브리프에 .iconset vs .icns를 명시하고, 표준 파일명·픽셀 표를 계약으로 고정하세요. sRGB·ICC는 sips와 디자인 수출 프리셋을 맞추고, iconutil·치수 스윕으로 마감합니다. 반복 검증은 로컬 노트북보다 고정된 macOS·M4 원격 워커에 두는 편이 재현성과 야간 배치에 유리합니다.
다음 단계: 아이콘·PNG 배치용 원격 Mac
MacPng 홈에서 서비스 개요를 확인한 뒤, 구매·대여와 요금·노드에서 디자인 시나리오에 맞는 원격 Mac을 선택하세요. SSH/VNC·환경 고정은 도움말을 참고하면 됩니다. 기술 인사이트의 Mac M4 탭에서 PNG·아이콘 관련 글을 이어 읽으면 납품 파이프라인이 한 줄로 이어집니다.