๋ช๋
์งธ ์ ์ฌ์ฉ์ค์ด๋ png ์ด๋ฏธ์ง ํ์ผ์์ ์ํ์ฑ๋์ด ํฌํจ๋ ๋ถ๋ถ์ด ํ์์ผ๋ก ์์น ๋์ด ๋์ค๊ธฐ ์์ํ๋ค. Xcode 15.2์ธ์ง... ์ด์ ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
์ ํ ๊ฐ๋ฐ์ ํฌ๋ผ์์ ํด๋ต์ ์ฐพ์๋๋ฐ, ๋งฅ์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ์ด๊ณ cmd + i ๋ฅผ ๋๋ฅด๋ฉด ์ด๋ฏธ์ง์ ์ฌ๋(bit)๋ฅผ ํ์ธํ ์ ์๋ค.
์ด ์ฌ๋๊ฐ 4bit๋ผ๋ฉด ์๋ก์ด Xcode(15.x)์์ ๋ ๋๋ง๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ ์ด์์๋ค. ๋ฐ๋ผ์ 8๋นํธ๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ ๋ฌธ์ ์๋ค.
#!/bin/bash
# input_folder ๋ณ์์ ์คํฌ๋ฆฝํธ๊ฐ ์๋ ํด๋ ๊ฒฝ๋ก๋ฅผ ์ค์ ํฉ๋๋ค.
input_folder="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# input_folder ๋ด *.png ํ์ผ์ ์ฐพ์ while ๋ฃจํ๋ก ์ํํฉ๋๋ค.
find "$input_folder" -type f -iname "*.png" | while read -r file; do
# ๊ฐ ํ์ผ์ bitsPerSample ๊ฐ์ sips ๋ช
๋ น์ผ๋ก ๊ฐ์ ธ์ต๋๋ค.
# awk ๋ช
๋ น์ผ๋ก bitsPerSample: ๋ผ์ธ์์ ๋ ๋ฒ์งธ ํ๋(๊ฐ)๋ฅผ ์ถ์ถํฉ๋๋ค.
bitsPerSample=$(sips -g bitsPerSample "$file" | awk '/bitsPerSample:/{print $2}')
# bitsPerSample ๊ฐ์ด 4 ์ดํ์ธ ๊ฒฝ์ฐ ๋ค์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
if [ "$bitsPerSample" -le 4 ]; then
# sips ๋ช
๋ น์ผ๋ก ์ด๋ฏธ์ง ํ์ผ์ 8๋นํธ PNG๋ก ๋ณํํฉ๋๋ค.
# --setProperty formatOptions 8 ์ต์
์ ํฌ๋งท ์ต์
์ 8๋นํธ๋ก ์ค์ ํฉ๋๋ค.
# --out "$file" ์ต์
์ ์ถ๋ ฅ ํ์ผ์ ๊ธฐ์กด ํ์ผ๋ก ๋ฎ์ด์ฐ๋๋ก ์ค์ ํฉ๋๋ค.
sips -s format png --setProperty formatOptions 8 "$file" --out "$file"
# ๋ณํ๋ ํ์ผ ์ด๋ฆ์ ์ถ๋ ฅํฉ๋๋ค.
echo "Replaced: $file"
fi
done
์ ์คํฌ๋ฆฝํธ๋ฅผ Xcode์ Assetsํด๋์ ๋ฃ๊ณ ๋๋ ค์ฃผ๋ฉด, ํด๋น ์คํฌ๋ฆฝํธ๊ฐ ์กด์ฌํ๋ ํด๋๋ด์ ๋ชจ๋ pngํ์ผ์ 8๋นํธ๋ก ๋ณํํด์ค๋ค.
์ผ๋จ ์ง๊ธ ํ๋ก์ ํธ์๋ ์ ์ ์ฉ๋๋ฉฐ ์ด๋ฏธ์ง๋ ์ ์์ ์ผ๋ก ํ์๋๊ธฐ ์์ํ๋ค.
https://developer.apple.com/forums/thread/733455