2013-05-06 2 views
0

Кто-нибудь разработал инструмент для сканирования каталога приложений iOS, чтобы убедиться, что все изображения .png имеют соответствующие @2x.png изображений? Я мог бы отмахиваться в течение 2-3 часов и разрабатывать приложение Java для этого. Однако, хотя я не совсем хорошо разбираюсь в сценариях оболочки, я полагаю, что это, вероятно, можно сделать в нескольких строках сценария оболочки (и я рад дать одному из вас, ребята, возможность продемонстрировать ваш блеск:)).Кто-нибудь разработал инструмент для проверки приложения для изображений Retina?

+0

(. Любопытный - вопрос был весьма специфичен, и он получил очень хороший, полезный ответ) –

ответ

2

Вот краткий сценарий оболочки. Это даже обрабатывает изображения с ~ipad или ~iphone суффиксами.

#!/bin/bash 

for img in `find . -name '*.png' | grep -v "@2x"`; do 
    noext=${img%.png} 
    suffix= 
    base=${noext%~ipad} 
    if [ "$base" != "$noext" ]; then 
     suffix="~ipad" 
    else 
     base=${noext%~iphone} 
     if [ "$base" != "$noext" ]; then 
      suffix="~iphone" 
     else 
      base=${noext} 
     fi 
    fi 
    retina="${base}@2x${suffix}.png" 
    if [ ! -f $retina ]; then 
     echo "Missing $retina" 
    fi 
done 

Запустите это от корня вашего проекта и проверит каждое найденное изображение.

Я только что нашел проблему с одним из моих изображений. У меня был @2, но не x.

Обновление: Я только начал играть с питоном. Вот тот же скрипт, написанный на Python:

#!/usr/bin/python 

import fnmatch 
import os 

for root, dirnames, filenames in os.walk('.'): 
    for filename in fnmatch.filter(filenames, '*.png'): 
     if filename.find('@2x') == -1: 
      noext = filename[:-4] 
      suffix = '' 
      base = noext 
      if noext.endswith('~ipad'): 
       suffix = '~ipad' 
       base = noext[:-5] 
      elif noext.endswith('~iphone'): 
       suffix = '~iphone' 
       base = noext[:-6] 

      retina = os.path.join(root, base + '@2x' + suffix + '.png') 
      if not os.path.exists(retina) : 
       print('Missing ' + retina) 
+0

Работает отлично! Благодаря! –

Смежные вопросы