Распространите неподписанное приложение iPhone для взломанного iPhone без Cydia - PullRequest
5 голосов
/ 12 марта 2012

Я пытаюсь распространять неподписанные .ipa по протоколу itms-сервисов для джейлбрейкнутого устройства БЕЗ СИДИИ.Я просмотрел инструкции по созданию неподписанного приложения для cydia из: http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/ и мне удалось заставить его работать, кроме опции «Поделиться» в Организаторе.Там написано: Ошибка: проверка Codesign не удалась ... Но, может быть, это не проблема здесь.

Взяв папку .app моего приложения и сожмите ее в расширение .ipa без подписи, но когда я загружаю свойприложением к моему серверу и попытайтесь загрузить его по протоколу itms-сервисов, индикатор выполнения на устройстве идет почти до конца и не удается загрузить ....

Кто-нибудь имеет опыт с этим?

Ответы [ 2 ]

3 голосов
/ 16 сентября 2012

Извините за пробуждение вековой темы, но на всякий случай, если у кого-нибудь возникнет этот вопрос в будущем:

Протокол itms-services отправляет запросы двум серверам: oscp.apple.com и другому серверу (об этом вы можете узнать на веб-сайте Apple). Серверы проверяют, сгенерировала ли Apple открытые ключи для сертификатов подписи и были ли они отозваны.

Обычно не было бы способа обойти это, но то, что iPhone проверяет, является "плохим" ответом. Если он обнаруживает один, он отклоняет приложение. Если он вообще не получает ответ, он не отклоняет приложение.

Итак, вы, вероятно, захотите создать собственный DNS-сервер, который будет перечислять два сервера Apple как два других сервера. Затем создайте мобильный файл конфигурации, который изменит DNS-сервер iPhone по умолчанию на ваш сервер. Приложение должно быть установлено правильно.

1 голос
/ 14 марта 2012

У меня точно такой же вопрос, как и у вас: я ищу способ распространения iOS-приложений для взломанного iPhone без использования Cydia.

itms-сервисы работают, когда я предоставляю действительную инициализациюпрофиль.Хотя профиль инициализации отсутствует, он не работает.

Одна заметка для вас, Алексей: неподписанное приложение не будет работать на iPhone, даже если это джейлбрейк.Вам нужно хотя бы самоподписанное приложение.Джейлбрейк устраняет необходимость подписи разработчика, одобренной Apple, и вовсе не устраняет необходимость подписи.Вы можете самостоятельно подписать свой код с помощью «ldid -S» на взломанном устройстве.Существует также версия ldid для Mac OS X по адресу http://dl.dropbox.com/u/3157793/ldid

Пожалуйста, продолжайте обновлять эту ветку с вашим прогрессом - я сделаю то же самое.

[EDITED]

Можно создать самозаверяющий сертификат и использовать его из Xcode.Затем приложение можно установить с помощью команды scp -r.

Затем я вручную создал файл IPA и обработал его через веб-сервер с URL-адресом itms-сервисов.Сбой установки: «Приложение не может быть установлено в данный момент»

При взгляде на консоль выдается:

Mar 14 17:31:32 unknown installd[4276] <Error>: developer cert trust result = 5 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 verify_signer_identity: Could not copy validate signature: -402620392 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 preflight_application_install: Could not verify executable at /var/tmp/install_staging.AnmaAp/foo_extracted/Payload/App.app Mar 14 17:31:32 unknown com.apple.itunesstored[4272] <Notice>: MobileInstallationInstall: failed with -1 Mar 14 17:31:32 unknown installd[4276] <Error>: 00485000 install_application: Could not prefligh

Причина в том, что /usr/libexec/installd программа проверяет правильность подписи при установке приложения.Это можно исправить и отключить с помощью таких инструментов, как http://hackulo.us/wiki/AppSync или http://jamesisbored.com/iphone/bootleg), но я бы не пошел по этому пути по двум причинам:

  • Сначала это открывает дверь любомуустановка на iPhone
  • во-вторых, потому что вашему пользователю придется это делать снова после каждого обновления iOS (а наличие патча не гарантируется для будущих версий)

Итак, это оставляетмне с двумя вариантами: A / отказаться от этой идеи B / разработать свой собственный MISValidateSignatureAndCopyInfo, обходя код и использовать его временно на время, необходимое для установки моего приложения.

...