Если вам вдруг захотелось достать из приложения iOS понравившуюся картинку, то это хоть и не элементарно, но вполне возможно. Почему не элементарно? Потому что по крайней мере часть png-файлов невозможно просмотреть из-за особенностей адаптации их под видеопамять iPhone и iPad.
С какой целью – неважно, но понадобилось мне посмотреть на файлы изображений png в одной программе для iOS. Пусть это будет… Да, Remote.
Добраться до файлов просто. Заходим в iTunes, находим программу, Secondary Click на ней и “Show in Finder”:
Копирую найденный ipa-файл в удобное место для дальнейших разборок:
Изменяю расширение .ipa на .zip:
И открываю архив, что приводит к извлечению файлов:
Захожу в Payload, выбираю файл приложения, Secondary Click, “Show Package Content”:
Вижу все файлы, входящие в программу:
Но вот незадача – содержимое части png-файлов не отображается:
Причины описаны в статьях “
Копирую эти файлы в свежесозданный каталог, иконки предпросмотра пусты:
Говорю спасибо
Списываю архив и раскручиваю программу в ~/bin:
$ curl "http://www.axelbrz.com.ar/ipin1.0.zip" -o ~/Downloads/ipin1.0.zip $ mkdir -p ~/bin $ unzip ~/Downloads/ipin1.0.zip -d ~/bin/
Я копировал ранее файлы в ~/Downloads/Rev/images. Смотрю, что не так с файлами. Посмотрите на нереальный размер и битность:
$ cd ~/Downloads/Rev/images/ $ file Bar-itunes.audiobooks.png Bar-itunes.audiobooks.png: PNG image, 805314562 x 284378236, 0-bit grayscale,
Натравливаю на файлы скрипт:
$ cd ~/Downloads/Rev/images/ $ python ~/bin/ipin.py ----------------------------------- iPhone PNG Images Normalizer v1.0 ----------------------------------- [+] Searching PNG files... ok - 12 PNG files were found at this folder (and subfolders). [?] Do you want to normalize all images (Y/N)? Y 0.00% ./Bar-itunes.audiobooks.png 8.33% ./Bar-itunes.audiobooks@2x.png 16.67% ./Bar-itunes.computers.png 25.00% ./Bar-itunes.computers@2x.png 33.33% ./Bar-itunes.genres.png 41.67% ./Bar-itunes.genres@2x.png 50.00% ./Bar-itunes.iTunesU.png 58.33% ./Bar-itunes.iTunesU@2x.png 66.67% ./Bar-itunes.movies.png 75.00% ./Bar-itunes.movies@2x.png 83.33% ./Bar-itunes.music.albums.png 91.67% ./Bar-itunes.music.albums@2x.png [+] 12 PNG files were normalized.
Файлы починились? Да, всё в порядке:
$ file Bar-itunes.audiobooks.png Bar-itunes.audiobooks.png: PNG image, 22 x 26, 8-bit/color RGBA, non-interlaced
Наслаждаюсь очередной решённой задачей.
P.S. А иконку для статьи я взял из файла iTunesArtwork, добавив к нему расширение .png.