2012-05-23 3 views
4

Pngcrush가 iOS의 이미지 최적화 기술이라는 것을 알고 있지만 의심 스럽지만 X- 코드는 각 빌드 동안 또는이 이미지 최적화를 수행해야하는 iTunes Store에 앱을 배포하기 전에 내부적으로 이것을 수행합니까?iOS에서 PngCrush 란 무엇입니까?

+0

이 질문을 다시 게시하지 마십시오. 추가 할 항목이 있으면 대신 원본을 편집하십시오. – NullUserException

답변

4

Xcode는 빌드 중에 변환을 수행합니다. 최종 응용 프로그램이 png를 수정하게됩니다. 수동으로 수행 할 필요가 없습니다.

+0

앱 사용을 위해 다운로드 한 이미지 (예 : uitableview)를 분쇄하여 성능상의 이점이 있습니까? – Mateus

+0

나는 그것이 그들이 처음에 그것을하고있는 이유라고 생각합니다. 알파를 미리 곱하기 때문에로드 타임이나 그리기 시간에 알파를 수행 할 필요가 없습니다. 그들은 채널 순서를 내가 HW 채널 순서라고 추측하므로 채널을 바꿔서로드 시간에 그렇게하지 않아도됩니다. – wrock

2

기본적으로 XCode는 을 자동으로 실행합니다 (). 설정 "압축 PNG 파일"에 대한

검색하고 원하는 값을 설정 :

당신은 당신의 프로젝트의 빌드 설정에서이 동작을 제어 할 수 있습니다.

4

이 명령을 사용하여 수동으로 액세스 할 수있는 이는 pngcrush 도구를 사용하여 수행됩니다 분쇄 PNG :

xcrun -sdk iphoneos pngcrush -iphone ... 

모든 파일은 "PNG"파일 형식과 대상에 추가 된 엑스 코드가 자동으로 수행됩니다

enter image description here

당신이 디렉토리 참조를 사용하여 리소스를 포함하면 는 PNG의 분쇄는 하지은 엑스 코드에 의해 수행되며,이 엄마를해야 할 것 네.

수동이 작은 bash는 조각을 사용하여 디렉토리의 모든 PNG 파일을 분쇄 할 수 있습니다

find /path/to/directory -name "*.png" | while read filename; do 
    xcrun -sdk iphoneos pngcrush -iphone "$filename" "${filename}_crushed" 
    mv "${filename}_crushed" "${filename}" 
done