2012-03-12 2 views
5

Я пытаюсь распространять unsigned .ipa через протокол itms-services для джейлбрейк-устройства без NOKIA. Я просмотрел руководства о том, как создать неподписанное приложение для cydia от: http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/, и мне удалось заставить его работать, кроме опции «Поделиться» от организатора. В нем говорится: Ошибка: проверка Codesign не удалась ... Но, возможно, это не проблема.Распространять неподписанное приложение iPhone для jailbroken iPhone без Cydia

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

У кого-нибудь есть опыт?

ответ

1

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

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

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

Продолжайте обновлять эту тему своим ходом - я сделаю то же самое.

[Изменено]

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

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

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

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 в обход кода и использовать его на время, необходимое для установки моего приложения.

+0

Прежде чем пытаться его распространять, вы проверили, работает ли приложение с ручной установки на устройстве (используя scp для хранения файлов на устройстве)? –

+0

Спасибо! примечание помогает! И да, я проверил приложение из ручной установки и даже с действующим профилем подготовки. И это работает. Знаете ли вы, как установить профиль проецирования без кабеля? –

+0

Да, просто разместите его на веб-странице и загрузите с помощью Mobile Safari (http: //your_server/file.mobileprovision) –

3

К сожалению о пробуждении в столетнюю нити, но только в том случае, если кто имеет этот вопрос в будущем:

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

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

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

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