Как пересобрать (resign) IPA-файлы для сайдлоадинга
Зачем нужно переподписывать IPA-файлы
Каждое приложение, запускаемое на iPhone, должно быть подписано действующим сертификатом Apple. Когда вы скачиваете IPA-файл из интернета или экспортируете его из Xcode, на нём стоит подпись исходного разработчика. Прежде чем установить его на собственное устройство, эту подпись нужно заменить на подпись, привязанную к сертификату, которому доверяет ваш iPhone. Этот процесс называется переподписыванием, и это базовый навык для всех, кто всерьёз занимается сайдлодингом на iOS.
Переподписывание – это не обход защиты, а передача доверия. Модель безопасности Apple требует, чтобы каждый фрагмент кода, выполняемый на iOS, был подтверждён известной идентичностью. Переподписывая IPA, вы как бы говорите: «Я ручаюсь за это приложение», используя собственный профиль разработчика или сертификат, управляемый такими инструментами, как Scarlet iOS.
Если вы только знакомитесь с понятием IPA-файлов, начните с нашего руководства о том, что такое IPA-файлы и как ими пользоваться. Как только вы поймёте структуру IPA, переподписывание станет намного понятнее. Последняя проверка: 27 октября 2026 г., по данным README iOS App Signer и zsign на GitHub, а также страницы Apple о членстве разработчика.
Сначала о рисках
- Переподписывание меняет того, кто ручается за приложение, а не то, что оно делает. Изменённый IPA остаётся изменённым и после подписи, поэтому сначала проверьте IPA-файл.
- Никогда не передавайте сертификат .p12 и пароль от него сайту или незнакомому человеку. С их помощью кто угодно сможет подписывать приложения от вашего имени.
- Переподписывание с другим bundle ID создаёт отдельное приложение без данных. Чтобы обновить приложение «на месте», сохраняйте тот же bundle ID и тот же Apple ID.
- При использовании бесплатного Apple ID подписанные вами приложения перестают открываться через 7 дней. На странице Apple о членстве указано, что бесплатные provisioning-профили «истекают через 7 дней после выдачи».
Инструменты для ресайнинга: краткий обзор
| Инструмент | Работает на | Подписывает с помощью | Подходит для |
|---|---|---|---|
| iOS App Signer | macOS (нужен Xcode) | Вашего сертификата и provisioning profile | Простого ресайнинга в окне программы |
| AltServer / AltStore | Mac или Windows | Вашего Apple ID | Ресайнинга и установки за один шаг |
| Sideloadly | Mac или Windows | Вашего Apple ID | Ресайнинга и установки, а также изменения bundle ID и названия |
| codesign | macOS (инструменты командной строки Xcode) | Вашего сертификата и provisioning profile | Полного контроля, автоматизации через скрипты |
| zsign | macOS, Linux, Windows, Android, FreeBSD | Сертификата .p12 и provisioning profile | Ресайнинга без Mac |
Что нужно подготовить перед ресайнингом
Чтобы переподписать IPA-файл, вам понадобится следующее:
- IPA-файл, который вы хотите переподписать
- Mac (для традиционных инструментов) или компьютер на Windows/Linux (для кроссплатформенных инструментов)
- Apple ID (бесплатно) или аккаунт Apple Developer (99 $/год для более широких возможностей)
- Инструмент для ресайнинга, например iOS App Signer, AltServer, либо подход с использованием командной строки через
codesign - Provisioning profile, включающий UDID вашего устройства (при бесплатном Apple ID Xcode создаёт его автоматически, см. ниже)
Также Scarlet iOS берёт на себя большую часть этого процесса автоматически, когда вы импортируете IPA прямо в приложение. Но понимание ручного процесса даёт вам больше контроля и помогает решать проблемы, если автоматические инструменты дают сбой.
Способ 1: повторное подписание с помощью iOS App Signer (Mac)
iOS App Signer – это бесплатный инструмент с открытым исходным кодом для macOS, который предоставляет графический интерфейс для повторного подписания IPA-файлов. Вот как им пользоваться:
- Скачайте iOS App Signer из официального репозитория на GitHub. В его README указано, что он «требует установленного Xcode», и поддерживает файлы ipa, deb, app и xcarchive.
- Откройте Xcode и войдите с помощью своего Apple ID через Settings > Accounts (Preferences в старых версиях). Это создаст локальный сертификат подписи на вашем Mac.
- Получите provisioning profile, который включает ваше устройство. С бесплатным Apple ID, как указано в README, их можно создать «из Xcode путём создания нового проекта»: подключите iPhone, создайте пустой проект приложения и позвольте Xcode управлять подписанием. На странице членства Apple подтверждается, что для бесплатных аккаунтов «профили управляются непосредственно в Xcode». С платным аккаунтом вы можете вместо этого зарегистрировать UDID устройства в портале разработчика и скачать профиль там. В нашем руководстве показано, как найти UDID.
- Откройте iOS App Signer и выберите ваш IPA-файл в качестве исходного.
- Выберите ваш сертификат подписи из выпадающего списка; он будет отображаться как «Apple Development: Ваше Имя» (или «iPhone Developer: Ваше Имя» для старых сертификатов).
- Выберите скачанный вами provisioning profile.
- При желании измените bundle ID (в README его называют application ID) или отображаемое имя, если хотите установить приложение параллельно с оригинальным. См. запуск нескольких версий одного приложения.
- Нажмите Start и дождитесь генерации повторно подписанного IPA.
- Используйте окно Xcode Devices and Simulators или такой инструмент, как Apple Configurator, для установки повторно подписанного IPA.
Способ 2: повторная подпись через AltServer
AltServer – ещё один популярный способ, который работает как на Mac, так и на Windows. Он интегрируется с AltStore, но также может использоваться для повторной подписи произвольных IPA-файлов:
- Установите AltServer на компьютер и AltStore на iPhone.
- Откройте AltServer и перейдите к опции Sideload .IPA.
- Выберите нужный IPA-файл и при запросе укажите данные своего Apple ID.
- AltServer автоматически создаст сертификат, сгенерирует provisioning profile, выполнит повторную подпись и установку.
Ограничение бесплатного Apple ID заключается в том, что срок действия сертификата составляет 7 дней. Приложения, подписанные таким способом, перестанут работать через неделю, если не подписать их заново. Платная учётная запись Apple Developer (99 $/год) продлевает этот срок до 12 месяцев. Чтобы приложения, подписанные бесплатно, продолжали работать, ознакомьтесь с материалом как обновлять приложения до истечения 7 дней, а по поводу лимита в 3 приложения см. ограничение бесплатного Apple ID на количество приложений.
Способ 3: повторная подпись через командную строку с помощью codesign
Для продвинутых пользователей и автоматизированных сценариев наибольшую гибкость даёт способ через командную строку с использованием инструмента codesign от Apple. Для этого метода требуется macOS и установленные инструменты командной строки Xcode.
Шаг 1: распаковка IPA
IPA-файл – это обычный ZIP-архив. Переименуйте его, добавив расширение .zip, и распакуйте, либо используйте терминал:
unzip MyApp.ipa -d MyApp_extracted
Шаг 2: удаление существующей подписи
rm -rf MyApp_extracted/Payload/MyApp.app/_CodeSignature
Шаг 3: копирование вашего provisioning profile
cp MyProvisioningProfile.mobileprovision MyApp_extracted/Payload/MyApp.app/embedded.mobileprovision
Шаг 4: Повторная подпись с помощью codesign
Сначала подпишите фреймворки и расширения приложения внутри app-файла, а затем само приложение, чтобы внутри не осталось ничего со старой подписью:
codesign -f -s "Apple Development: Your Name (TEAMID)" MyApp_extracted/Payload/MyApp.app/Frameworks/*
codesign -f -s "Apple Development: Your Name (TEAMID)" --entitlements entitlements.plist MyApp_extracted/Payload/MyApp.app
Более новые сертификаты называются “Apple Development”; старые могут по-прежнему отображаться как “iPhone Developer”. Выполните команду security find-identity -v -p codesigning, чтобы увидеть точные названия на вашем Mac. Файл entitlements должен соответствовать вашему provisioning profile, поэтому берите значения из профиля, а не из исходного приложения.
Шаг 5: Пересборка в IPA
cd MyApp_extracted && zip -r ../MyApp_resigned.ipa Payload
Повторная подпись без Mac: zsign
zsign (лицензия MIT, активно развивается на GitHub по состоянию на октябрь 2026 года) описывается как “быстрая, с открытым исходным кодом, кроссплатформенная альтернатива codesign для iOS 12+”, которая повторно подписывает пакеты .ipa и бандлы .app “с помощью собственных сертификатов и provisioning profile, без Xcode, без macOS”. В README перечислены сборки для macOS, Linux, Windows, Android и FreeBSD, отдельные provisioning profile для расширений в приложениях с расширениями, изменение bundle ID и отображаемого имени, а также проверка сертификата и OCSP, которая может показать, действителен ли сертификат. Вам понадобится сертификат .p12, пароль к нему и соответствующий provisioning profile, что на практике означает платный аккаунт разработчика. Это инструмент командной строки, поэтому он подходит пользователям, которым комфортно работать с терминалом.
Повторная подпись прямо в Scarlet iOS
Если вы используете Scarlet iOS, большая часть сложностей повторной подписи решается за вас автоматически. Когда вы импортируете IPA в Scarlet, приложение автоматически переподписывает его собственным сертификатом подписи перед установкой. Это одно из ключевых преимуществ использования Scarlet по сравнению с ручными методами.
Для продвинутых пользователей в нашем руководстве по Developer Mode на iPhone объясняется, когда нужен режим Developer Mode от Apple: для приложений, которые вы переподписываете собственным Apple ID, да, он нужен; сам Scarlet подписан enterprise-сертификатом и в нём не нуждается. Работа Scarlet подтверждена на iOS с версии 14 по iOS 26; поддержка iOS 27 упоминается сторонними источниками, но официально не подтверждена.
Частые ошибки повторного подписания и способы их устранения
Ошибка: “A valid provisioning profile for this executable was not found”
Это означает, что использованный вами provisioning profile не содержит UDID вашего устройства или срок действия профиля истёк. Сгенерируйте новый профиль в портале разработчика Apple и включите в него ваше устройство.
Ошибка: “The executable was signed with invalid entitlements”
Некоторые приложения запрашивают entitlements (специальные разрешения), для которых требуется платный аккаунт разработчика или определённые возможности, включённые в provisioning profile. Проверьте файл entitlements.plist приложения и удалите все пункты, не поддерживаемые уровнем вашего аккаунта.
Ошибка: “Code object is not signed at all”
Обычно это происходит, когда фреймворки, встроенные в приложение, не были повторно подписаны вместе с основным исполняемым файлом. Вам нужно заново подписать каждый фреймворк по отдельности перед повторным подписанием основного пакета приложения.
Ошибка: “Unable to Install” или “integrity could not be verified” на iPhone
Подпись, профиль или список устройств не совпадают. Проверьте, что профиль включает ваше устройство, что все фреймворки были подписаны и что сертификат не был отозван. Смотрите как исправить ошибку integrity.
Приложение устанавливается, но не открывается
На iOS 16 и новее приложениям, подписанным вашим собственным сертификатом разработчика, требуется включённый режим разработчика (Developer Mode), а также может потребоваться подтверждение доверия разработчику в Настройки > Основные > VPN и управление устройством. Смотрите решение ошибки Untrusted Developer.
Лучшие практики повторного подписания IPA-файлов
- Всегда сохраняйте резервную копию оригинального, неизменённого IPA перед повторным подписанием.
- Фиксируйте, какой сертификат и provisioning profile вы использовали для каждого приложения: это значительно упростит обновление.
- Если вам нужно, чтобы несколько приложений взаимодействовали друг с другом (app groups), убедитесь, что все они подписаны одним и тем же team ID.
- Для приложений, которыми вы пользуетесь регулярно, рассмотрите возможность оформления платного аккаунта Apple Developer, чтобы избежать еженедельных хлопот с повторным подписанием.
Заключение
Повторное подписание IPA-файлов – это базовый навык для тех, кто хочет полностью контролировать установку приложений на своём iPhone. Используете ли вы инструмент с графическим интерфейсом, подход через командную строку или позволяете Scarlet iOS сделать всё автоматически, понимание этого процесса даёт вам возможность устранять проблемы и устанавливать приложения, которых нет в App Store.
Если вы предпочитаете не возиться с сертификатами самостоятельно, инструмент, который подписывает прямо на устройстве, – более простой вариант; см. как установить Scarlet iOS, а также наше руководство по созданию собственного IPA-файла – это шаг, который предшествует повторному подписанию.
Часто задаваемые вопросы
Можно ли повторно подписать IPA на Windows?
Да. AltServer и Sideloadly подписывают с помощью вашего Apple ID на Windows, а zsign работает на Windows с сертификатом .p12.
Сохраняются ли данные приложения при повторном подписании?
Только если вы устанавливаете повторно подписанное приложение поверх существующего с тем же bundle ID (а для инструментов с Apple ID – ещё и с тем же Apple ID). Если сначала удалить приложение, его данные тоже удаляются.
Можно ли повторно подписать с бесплатным Apple ID?
Да, но профиль действует 7 дней, и на устройстве одновременно может быть не более 3 sideload-приложений, согласно странице членства Apple.