Подтвердить что ты не робот

Как переписать приложение iOS для распространения в App Store?

Я пытаюсь понять, как работает процедура подписания кода. Моя цель - взять файл .ipa, который был подписан с сертификатом Компания A Enterprise, изменить идентификатор пакета, а затем снова зарегистрироваться с помощью магазина приложений компании B Сертификат распространения и опубликовать в App Store.

Во-первых, возможно ли это? Я прочитал здесь, что "... я уверен, что вы не можете (и не должны) использовать этот инструмент для выхода из приложения с сертификатом распространения App Store". Может ли кто-нибудь уточнить это?

Я пробовал много сценариев, таких как this и this и this, но после некоторой настройки все они, похоже, имеют такую ​​же проблему, когда я пытаюсь отправить приложение для просмотра с помощью Application Loader. Ошибки, которые я получаю, следующие:

  • Неверная проверка кода. Подпись была недействительной, содержит запрещенные права, или он не был подписан с iPhone Сертификат распространения.
  • Невозможно извлечь права из /var/folders/ 67/(large_number)/new.ipa/Payload/original.app/original

Кто-нибудь может мне помочь? Обратите внимание, что я знаю, как это сделать, экспортируя сертификаты и т.д., Но здесь я исследую, сможет ли компания B сделать это самостоятельно, если я дам им файл A.ipa компании A. Я могу более подробно объяснить, что я делаю, если нужно, просто спросите.

Спасибо!

EDIT: Я уже знаю этот закрытый вопрос SO, однако я опубликовал новый, потому что, по-моему, мой более конкретный, и я не прошу общий способ выполнить то, что я хочу - я хочу только посмотреть, возможно ли описанный сценарий.

4b9b3361

Ответ 1

Я сэкономил много времени, используя AirSign приложение (которое не было доступно, когда я отправил свой оригинальный вопрос).

Ответ 2

Чтобы отменить новое приложение, которое должно быть возможным, вам нужно будет создать все новые профили распространения на портале dev (при условии, что вы так далеко). Все должно соответствовать вашему приложению в новом профиле. Идентификатор приложения, вероятно, является самым важным. Когда вы создаете новый, это должно быть настроено в вашем проекте для соответствия. Обычно com.companyname.appname.optional. Этот новый идентификатор приложения должен быть спарен в ваших настройках сборки в Bundle Identifier. После того, как вы сравните их, вы сможете связать их с новыми профилями дистрибутива/подготовки.

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

Ответ 3

У меня были проблемы с этим раньше. Настройка нового профиля и перестройка в Xcode, похоже, сработала, но просто используя командную строку, отменяющую существующее приложение после редактирования plist с идентификатором пакета, это давало мне печаль. Я подозреваю, что это встроенный профиль, который помещается в приложение, когда он был построен, но, честно говоря, я не уверен.

Я вижу, что у вас возникли проблемы с правами - обратите внимание, что некоторые из них заданы в профиле dev (push notifications, IAP и, возможно, iCloud) и должны быть там корректными.

Второй совет заключается в том, что Xcode кэширует профиль dev в проекте (где-то), поэтому даже если вы удалите его из папки мобильных профилей внутри вашей библиотеки, вам придется фактически изменить его в целевых настройках в проекте Xcode или он все еще может использовать старый (grrr).