Создание неподписанного приложения IPA для iOS

Можно ли создать неподписанное приложение iOS, файл .ipa? У нас есть корпоративный клиент, которому требуется неподписанный файл IPA нашего приложения для iOS, который он затем подпишет с помощью своего продукта MAM.

Если возможно, как я могу это сделать?


person Diego Barros    schedule 20.08.2014    source источник


Ответы (6)


Один раз скопирую из блога. Шаги следующие:

Создание неподписанного .ipa без учетной записи разработчика в Xcode 5

Чтобы отключить подпись кода:

1.1 GoTo / Applications, затем щелкните правой кнопкой мыши Xcode.app и выберите «Показать содержимое пакета».

1.2 GoTo Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS7.0.sdk / и скопируйте файл SDKSettings.plist на рабочий стол.

1.3 Открываем скопированный файл SDKSettings.plist. Под "DefaultProperties" ==> "dict" найдите CODE_SIGNING_REQUIRED и измените его значение с YES на NO. Сохраните файл

1.4 Скопируйте этот измененный файл SDKSettings.plist обратно в Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/, заменив исходный файл [ВЫ МОЖЕТЕ СОХРАНИТЬ ОРИГИНАЛЬНЫЙ ФАЙЛ В КАЧЕСТВЕ РЕЗЕРВНОЙ КОПИИ] Выполните требуемую АУТЕНТИФИКАЦИЮ ПО ТРЕБОВАНИЮ

1.5 Перезапустите Xcode и откройте ваш работающий проект xcode

1.6 В Project Navigator выберите свой проект и откройте раздел Build Settings вашего проекта и выберите подзаголовок Select All.

1.7 В разделе «Подпись кода» найдите «Идентификатор подписи кода» и для режимов отладки и выпуска установите для «Любой SDK iOS» значение «Не подписывать код».

Чтобы сделать IPA:

2.1 В Xcode перейдите к продукту и нажмите "Архивировать".

2.2 На 7-м шаге вы построите проект и создадите архив. После завершения процесса откроется новое окно Организовать - Архив. В списке этого окна вы можете увидеть свой проект. Щелкните проект правой кнопкой мыши и выберите Показать в Finder, чтобы открыть файл * .xcarchive.

2.3 Щелкните правой кнопкой мыши файл * .xcarchive, выберите «Показать содержимое пакета» и перейдите к «Продукты» => «Приложения», где вы увидите файл приложения с именем вашего проекта «имя проекта» .app

2.4 Откройте окно просмотра изменений iTunes в разделе «Приложения» и перетащите файл приложения «имя проекта» .app в iTunes.

2.5 Щелкните приложение правой кнопкой мыши и выберите Показать в Finder. У вас будет файл .ipa.

Важные примечания:

3.1 На шаге 2.1, если меню «Архив» отключено, это, скорее всего, связано с тем, что в настоящее время в качестве цели запуска на панели инструментов Xcode выбрана опция имитатора. При изменении этого меню на подключенное устройство или общий параметр целевого устройства iOS должен включить параметр «Архивировать» в меню «Продукт».

3.2 Вам также потребуется установить AppSync на свой iPhone через Cydia.

person Rashad    schedule 20.08.2014
comment
Похоже, что мы много играемся и балуюсь даже с внутренним устройством Xcode (содержимым пакета). Кажется, проще просто заставить клиента повторно подписать его с помощью чего-то вроде github.com/maciekish/iReSign или само приложение codeign. - person Diego Barros; 20.08.2014
comment
@dbarros & Drongo - Работает ли какой-либо из этих методов с iOS 9.2? - person Alex S; 28.02.2016
comment
@AlexS Извините, я давно не смотрел на это. - person Diego Barros; 29.02.2016
comment
@AlexS Да, я построил ipa этим методом на iOS 9.3 - person jedi; 08.07.2016
comment
Что Under == ›находит и меняет свое значение с ДА на НЕТ. Сохранить файл означает Что такое == ›? Какой ключ мы должны преобразовать в NO - person phantom; 18.09.2016
comment
С XCode 8.2 я не смог добавить файл .app в iTunes для создания файла ipa, так как он показывает ошибку, не может быть добавлен в вашу библиотеку itunes, потому что это недопустимое приложение. Не могли бы вы высказать свое мнение по этому вопросу? - person Srinivas G; 15.12.2016
comment
@phantom Это CODE_SIGNING_REQUIRED - person Srinivas G; 15.12.2016
comment
initcodes.blogspot.com/2014/01/ демонстрация видео: youtube.com/watch?v=yAT8TcwjoIU - person sabbir; 18.07.2017
comment
Я следил за тем же, но получаю ошибку сборки, т.е. для проекта требуется команда разработчиков. Кто угодно может мне в этом помочь, я использую Xcode версии 10.2.1. - person kalpa; 19.09.2019
comment
Если кому-то действительно нужен iTunes с разделом устаревших приложений, вы все равно можете получить его от Apple: поддержка. apple.com/en-us/HT208079 - person Funktional; 14.11.2019
comment
Спасибо! Я получил свой файл IPA и установил его на взломанное устройство. - person iThanh; 04.12.2020

Самый простой способ - создать из командной строки.

    /usr/bin/xcodebuild -scheme MYSCHEME -workspace MYWORKSPACE.xcworkspace   
    -configuration Release clean archive -archivePath "build/APPNAME.xcarchive" 
    CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
person Daniel Broad    schedule 15.02.2017
comment
Как я могу создать .ipa из xcarchive? xcodebuild -exportArchive требует exportOptions.plist и подписывает приложение. - person Pavel Alexeev; 05.04.2018
comment
для Xcode 10.2 мне пришлось использовать CODE_SIGNING_ALLOWED = NO. - person szotp; 09.04.2019
comment
Это гораздо более предпочтительное решение для взлома Xcode. - person Joshua Sullivan; 03.08.2019
comment
привет @Daniel Broad Я выполнил эти шаги, но получаю следующую ошибку: PhaseScriptExecution Bundle \ React \ Native \ code \ and \ images / Users / @@@@ / Library / Developer / Xcode / DerivedData / xxxxxx-bosdocbhmrkuljajuzqyqhhwmwdz / Build /Intermediates.noindex/ArchiveIntermediates/xxxxxxx/IntermediateBuildFilesPath/xxxxxx.build/Release-iphoneos/xxxxxx.build/Script-00DD1BFF1BD5951E006B06BC.sh. xxxxxx: это название моего проекта. Я удалил производные данные и попробовал снова, но все равно безуспешно. Та же ошибка, что и у меня - person kalpa; 19.09.2019

да, это возможно; В настоящее время я делаю это с помощью Xcode 5 / iOS 7 SDK.

вы должны отредактировать /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.*.sdk/SDKSettings.plist файл, как показано ниже.

измените это:

<key>CODE_SIGNING_REQUIRED</key>
<string>YES</string>

к этому:

<key>CODE_SIGNING_REQUIRED</key>
<string>NO</string>

Направления, которые я использовал, взяты из этой Wiki здесь, может предоставить вам дополнительную полезную информацию.

Возможно, вам потребуется внести некоторые дополнительные изменения в настройки сборки, такие как Code Signing Identity и Provisioning Profile (возможно, просто установите для них значение none)

person Brad Allred    schedule 20.08.2014
comment
Я рекомендую прочитать связанную Wiki-страницу для получения обновленных методов и дополнительной информации. - person ToniTornado; 24.02.2015
comment
@ToniTornado - Работает ли какой-либо из этих методов с iOS 9.2, особенно iOS без джейлбрейка? - person Alex S; 28.02.2016

Это были мои шаги после iTunes 12.7.0, так как они удалили пункт меню Просмотр приложения.

2.4 - Создайте новую папку под названием Payload

2.5 - Добавьте файл "procjectname" .app в папку Payload.

2.6 - Сжать файл в zip-папку

2.7 - Переименуйте файл из Payload.zip в "название проекта" .zip

2.8 - Измените "название проекта" .zip на "название проекта" .ipa

person PestyDestroyer    schedule 15.09.2017

Шаги по созданию неподписанного IPA (протестировано в Xcode 9.4.1)

Шаг 1. Откройте средство поиска> Перейти к папке…, как показано на экране ниже.

введите описание изображения здесь

а затем скопируйте и вставьте следующую строку:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS*.*.sdk/SDKSettings.plist

Откройте iPhoneOS.sdk, как показано на изображении ниже:  введите описание изображения здесь

Шаг 2. Скопируйте список SDKSettings в другую папку, потому что здесь нельзя вносить изменения:

Шаг 3. Внесите изменения в дубликате

установите CODE_SIGNING_REQUIRED на NO  введите описание изображения здесь

Шаг 4: Теперь замените повторяющийся Plist на исходный (оба имени должны быть одинаковыми). При этом также будет запрошено разрешение администратора на изменение.

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

Шаг 5. Теперь установите идентификатор подписи кода, как показано на рисунке ниже: введите описание изображения здесь

и теперь вы можете создать файл архива  введите описание изображения здесь

** Шаг 6: ** Щелкните правой кнопкой мыши этот тестовый архивный файл и отобразите его в поисковике:

Снова щелкните правой кнопкой мыши и выберите показать содержимое пакета.

затем Продукты> Приложения> и скопируйте файл .App

Шаг 7:

  • Скопируйте файл .app в новую подпапку с именем Payload (это имя папки чувствительно к регистру)
  • нажмите папку Payload и переименуйте ее в app_name-version_number.ipa
  • Пример - Test-version_1.1.ipa

И, наконец, у вас есть неподписанный IPA-файл :)

Примечание. После внесения изменений в приложение снова замените исходный список или установите для параметра CODE_SIGNING_REQUIRED значение YES.

person Alok    schedule 07.09.2018

Чтобы отключить подпись кода:

  • GoTo / Applications, затем щелкните правой кнопкой мыши Xcode.app и выберите Показать содержимое пакета.
  • SDKSettings.plist находится по адресу /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS13.x.sdk.

После изменения файла SDKSettings.plist перезапустите Xcode.

Примечание. Храните резервную копию «SDKSettings.plist» в другом каталоге.

После создания неподписанного файла .ipa замените файл SDKSettings.plist исходным файлом SDKSettings.plist и удалите значение пары ключей «CODE_SIGNING_ALLOWED» в пользовательских настройках.

(Я также создал видео на YouTube, в котором описаны те же шаги.)

person Track The Bird    schedule 11.01.2020