Как кодировать автоматически создаваемые приложения для iOS? - PullRequest
5 голосов
/ 04 мая 2011

Greetings,

Я сейчас пишу скрипт веб-сервера, который позволит вам создавать пользовательские приложения для iOS (в основном, обмениваться логотипами и несколькими другими вещами).Веб-сервер настраивает ранее загруженную «оболочку» .ipa и повторно упаковывает весь контейнер, чтобы отправить его в браузер пользователя.То есть: мы настраиваем ранее загруженный файл .ipa на веб-сервере и позволяем пользователю загрузить его для отправки в App Store.

Следующим шагом будет повторная маркировка всего файла .ipa - поскольку мы изменилисодержимое .IPA, и пользователь должен использовать свою собственную подпись, чтобы он мог на самом деле загрузить ее в App Store.

Насколько я понимаю, есть файл "CodeResources", который содержит своего рода хэшдля каждого файла ресурсов в комплекте, и исполняемый файл также содержит некоторую встроенную подпись.Чтобы сгенерировать их, вам нужно будет использовать утилиту «CodeSign» на компьютере пользователя, а затем использовать Application Loader, чтобы отправить его в App Store.Пока все правильно?

Я пытаюсь выяснить:

  1. Есть ли способ кодировать .ipa на сервере (если пользователь заранее загрузит свой сертификат)), чтобы у него не было никакой дополнительной работы?
  2. Если 1) невозможно, есть ли какой-нибудь инструмент, который позволяет повторно кодировать .ipa без особых хлопот?Xcode, кажется, требует некоторой работы по настройке проекта, чтобы выполнить лишь небольшую часть подписания кода - если это вообще возможно.
  3. Существуют ли альтернативные способы кодирования файлов .ipa для пользователя - возможно, без необходимости делать это вручнуюот руки?

Заранее спасибо!

Ответы [ 2 ]

4 голосов
/ 06 июля 2011

Xcode использует утилиту командной строки codesign для создания папки CodeResources и цифровой подписи, вы можете вызвать ее самостоятельно, чтобы подписать комплект приложений вне Xcode. Вы могли бы, вероятно, автоматизировать это на сервере, если на сервере была установлена ​​Mac OS X; если вы действительно сообразительны, вы можете сами выяснить, как создать подпись, используя openssl (сертификаты подписи и т. д. все стандартные вещи). Или, если вы можете рассчитывать на пользователя с установленными инструментами разработчика, предоставьте ему приложение, которое автоматизирует подпись для них.

Вот запись в блоге, описывающая некоторые процессы (хотя вариант использования немного отличается).

3 голосов
/ 03 мая 2012

Мне не нравится отвечать на мой собственный вопрос, но я хочу закрыть его через столько времени.

В итоге мы использовали цели и схемы XCode, чтобы упростить создание множества различных приложений.Поскольку у нас имеется достаточное количество вариантов приложений, на данный момент, похоже, все в порядке.

Подписание кода - беспорядок, и Apple постоянно меняет технический процесс, стоящий за ним - поэтому это движущаяся цель и требует много взломаи метод проб и ошибок.

...