Fix the asset optimization for good:

- asset names for iPad were not named correctly
- the UIMainBar's dialer was not using background images
This commit is contained in:
Guillaume BIENKOWSKI 2013-10-15 16:04:11 +02:00
parent f4d4350c21
commit 04a677a535
2 changed files with 43 additions and 17 deletions

View file

@ -245,15 +245,15 @@
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<reference key="IBUINormalTitleShadowColor" ref="540119952"/>
<object class="NSCustomResource" key="IBUIHighlightedImage" id="40179686">
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="40179686">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_over.png</string>
</object>
<object class="NSCustomResource" key="IBUISelectedImage" id="190908631">
<object class="NSCustomResource" key="IBUISelectedBackgroundImage" id="190908631">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_selected</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage" id="797612768">
<object class="NSCustomResource" key="IBUINormalBackgroundImage" id="797612768">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_default.png</string>
</object>
@ -589,9 +589,9 @@
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<reference key="IBUINormalTitleShadowColor" ref="540119952"/>
<reference key="IBUIHighlightedImage" ref="40179686"/>
<reference key="IBUISelectedImage" ref="190908631"/>
<reference key="IBUINormalImage" ref="797612768"/>
<reference key="IBUIHighlightedBackgroundImage" ref="40179686"/>
<reference key="IBUISelectedBackgroundImage" ref="190908631"/>
<reference key="IBUINormalBackgroundImage" ref="797612768"/>
<reference key="IBUIFontDescription" ref="754816492"/>
<reference key="IBUIFont" ref="89777223"/>
</object>

View file

@ -23,29 +23,55 @@ PNGS=$(find $DIR -type f -name *.png)
echo "Running PNG optimization in $DIR"
if [[ -f $DIR/optimized ]]; then
echo "Resources already optimized, exit"
exit 0
fi
for PNG in $PNGS; do
BASENAME=$(basename $PNG ".png")
PROCESS=false # put true here when the resizing is fixed
SUFFIX=
PROCESS=true
if [ -f $DIR/$BASENAME"@2x.png" ]; then
# detect images for iPad, in which case basename has to be stripped
case $BASENAME in
*~ipad)
SUFFIX="~ipad"
BASENAME=$(echo ${BASENAME} |cut -f1 -d~)
;;
esac
STANDARDFILE=${BASENAME}${SUFFIX}.png
RETINAFILE=${BASENAME}@2x${SUFFIX}.png
# skip resize if the retina version already exist, which means the asset was optimized manually
if [ -f $DIR/$BASENAME"@2x"$SUFFIX".png" ]; then
echo "Don't process $BASENAME";
PROCESS=false
fi
case $BASENAME in *@2x)
echo "Skip $BASENAME";
continue
case $BASENAME in
*@2x$SUFFIX)
continue
;;
esac
# for all resources that don't have retina versions, consider the normal version as retina and resize to 50%
if $PROCESS ; then
echo -n "Processing ${BASENAME} (${CONVERTFILTER})..."
mv $DIR/$BASENAME".png" $DIR/$BASENAME"@2x.png"
$CONVERT $DIR/$BASENAME"@2x.png" $CONVERTFILTER -resize "50%" $DIR/$BASENAME".png" > /dev/null
echo -n "Processing ${STANDARDFILE} (${CONVERTFILTER})..."
mv ${DIR}/$STANDARDFILE ${DIR}/$RETINAFILE
$CONVERT ${DIR}/$RETINAFILE $CONVERTFILTER -resize "50%" -strip ${DIR}/$STANDARDFILE > /dev/null
fi
echo "Optimizing ${BASENAME} and ${BASENAME}@2x ..."
$OPTIPNG -quiet $DIR/$BASENAME"@2x.png" > /dev/null
$OPTIPNG -quiet $DIR/$BASENAME".png" > /dev/null
$OPTIPNG -quiet $DIR/$RETINAFILE > /dev/null
$OPTIPNG -quiet $DIR/$STANDARDFILE > /dev/null
done
done
# make sure we dont over-optimize
touch $DIR/optimized