Как запустить файл .IPA, загруженный из магазина приложений, на другое устройство (разработчик)? - PullRequest
1 голос
/ 25 ноября 2011

Я получил файл .ipa от клиента (без доступа к исходному коду).Это приложение больше не существует в магазине приложений.Теперь мой клиент хочет, чтобы я снова написал это приложение.Чтобы понять, что это за приложение, я пытался установить файл .ipa на свое устройство разработчика, выбрав Organzer > Devices и выбрав свое устройство.С Add to portal я добавил файл на устройство.

Однако при запуске приложения на моем устройстве оно открывается, но открывается до полного размера экрана.Там нет сообщения отправлено.

ВОПРОС: Я пытаюсь выяснить, является ли это ошибкой приложения (журналы ошибок отсутствуют) или это невозможно?И если это возможно, как мне заставить приложение работать?

РЕДАКТИРОВАТЬ: консоль говорит:

SpringBoard[15] <Warning>: Unable to obtain a task name port right for pid 2582: (os/kern) failure 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Notice>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Exited: Killed: 9 
Nov 25 13:25:16 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.dcomplex.NVRViewerMilestone[0xdb31]) Throttling respawn: Will start in 2147483647 seconds 
Nov 25 13:25:16 unknown SpringBoard[15] <Warning>: Application 'hawk-i' exited abnormally with signal 9: Killed: 9 
Nov 25 13:25:17 unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42004

ОБНОВЛЕНИЕ:

После использования скрипта, упомянутого в Denis Ответ, мне удалось заменить существующую подпись на мою.К сожалению, я не смог запустить приложение и получал точное консольное сообщение, как описано выше, за исключением того, что последняя строка отличается с другим номером ошибки:

unknown kernel[0] <Debug>: AppleFairplayTextCrypterSession::fairplayOpen() failed, error -42022

ОБНОВЛЕНИЕ 2:

Denisбыл так любезен и пытался решить мое дело также с помощью инструмента iResign от Google, но, к сожалению, снова безуспешно.В моем случае я начинаю верить, что не существует решения для запуска приложения, но для других приемлемым ответом (Денис) может быть путь.

PEACE.

Ответы [ 3 ]

4 голосов
/ 25 ноября 2011

Вы можете попробовать извлечь .app из .ipa и переназначить его с помощью следующего файла оболочки bash:

#! /bin/bash 
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform\
/Developer/usr/bin/codesign_allocate

codesign -f -s "iPhone Developer: John Doe (XXXXXXXXXX)" $1.app

Для этого требуется, чтобы у вас был установлен сертификат разработчика и установлен профиль обеспечения, который будет работать с подстановочным знаком;

Использование будет примерно таким

$>myresign.sh <your-app-filename>

Или Этот замечательный инструмент можно использовать непосредственно для файлов .ipa. Он будет работать для случаев, если у вас есть разрабатываемая сборка, а не та, которую отправили в iTunes Connect.

2 голосов
/ 25 ноября 2011

Если вы никогда не предоставляли UDID своего устройства клиенту, у вас не будет разрешения (или соответствующего файла инициализации) для фактического запуска приложения на вашем устройстве.

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

1 голос
/ 25 ноября 2011

Несколько удивительно, что вы даже можете установить .ipa на свое устройство. Это означает, что вы находитесь в профиле обеспечения этого приложения.

Похоже, приложение вылетает при запуске. Вы можете найти некоторые подсказки в журналах устройства, которые вы можете найти в Organizer -> Your Device -> Device Logs.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...