Тема очень специфичная, поэтому надеюсь, что это кому-нибудь сэкономит время.
Перед тем как отправить свое приложение в Apple Store, решил протестировать
на друзьях, разослав им файл профайла и zip-архив приложения в формате Ad Hoc Distribution.
Казалось бы, что может быть проще перетаскивания этих файлов в iTunes и синхронизации
с iPhone. Но для пользователей Windows этого оказалось недостаточно…
Для пользователей Mac OS X все проходит без проблем, но вот Windows пользователям,
iTunes сообщит, что не может проверить приложение. Что же не так?
Оказалось, что если упаковывать приложение по мануалам, то есть используя Compress
в меню Finder, то в архив включается resource fork.
Проще говоря, это каталог вида "__MACOSX", который становится видимым после распаковки
архива вручную. В Mac OS X есть встроенная поддержка resource fork и он не считается
отдельной директорией, а вот в Windows все наоборот.
Поэтому iTunes под Windows просто игнорирует zip-архивы, включающие resource fork,
но есть два варианта решения:
Все операции производить над каталогом приложения: MyCoolApp.app
Update
Для гиков есть еще 3-й вариант — создание пакета ipa вручную:
В итоге, должна получиться следующая структура каталога «tmp»:
Payload/MyCoolApp.app
iTunesArtwork
Далее в консоли переходим в каталог «tmp» и исполняем команду:
Не забудьте вместо MyCoolApp подставить имя вашего приложения.
Перед тем как отправить свое приложение в Apple Store, решил протестировать
на друзьях, разослав им файл профайла и zip-архив приложения в формате Ad Hoc Distribution.
Казалось бы, что может быть проще перетаскивания этих файлов в iTunes и синхронизации
с iPhone. Но для пользователей Windows этого оказалось недостаточно…
Для пользователей Mac OS X все проходит без проблем, но вот Windows пользователям,
iTunes сообщит, что не может проверить приложение. Что же не так?
Оказалось, что если упаковывать приложение по мануалам, то есть используя Compress
в меню Finder, то в архив включается resource fork.
Проще говоря, это каталог вида "__MACOSX", который становится видимым после распаковки
архива вручную. В Mac OS X есть встроенная поддержка resource fork и он не считается
отдельной директорией, а вот в Windows все наоборот.
Поэтому iTunes под Windows просто игнорирует zip-архивы, включающие resource fork,
но есть два варианта решения:
- Распаковать zip-архив средствами Windows, удалить каталог "__MACOSX" и запаковать обратно
- Вручную создать zip-архив в Mac OS X с помощью консоли (zip -r ...)
Все операции производить над каталогом приложения: MyCoolApp.app
Update
Для гиков есть еще 3-й вариант — создание пакета ipa вручную:
- Создаем каталог, в котором будем формировать архив, наример «tmp»
- Создаем в каталоге «tmp» подкаталог «Payload», куда копируем каталог приложения,
например MyCoolApp.app - Выбираем любую красивую картинку в формате png и копируем в каталог «tmp»
под именем «iTunesArtwork», без расширения ".png"
В итоге, должна получиться следующая структура каталога «tmp»:
Payload/MyCoolApp.app
iTunesArtwork
Далее в консоли переходим в каталог «tmp» и исполняем команду:
zip -r -y MyCoolApp.ipa .
Не забудьте вместо MyCoolApp подставить имя вашего приложения.