Запуск приложения на iPhone без сертификата Apple

on February 1st, 2012 by Hades | 1 Comment »

Многие начинающие программисты испытывают свои силы в написании приложений на своих iГаджетах, но тестирование собственного приложения на аппаратном устройстве в 1000 раз лучше чем на эмуляторе, а платить $99, чтобы иметь возможность зарегистрироваться в девелоперской программе Apple нет экономического смысла т.к. многие из вас забросят эту идею после очередного “Hello world”.
А, возможно, вы не хотите ждать несколько месяцев, пока Apple соизволит прислать ключ.

      Что нам понадобится?
  • Взломанный iДевайс (iPod touch или iPhone)
  • Xcode 4.2.1, поддерживающий текущую прошивку устройства
  • стандартная программа Keychain Access

Взломанный iДевайс (iPod touch или iPhone) – для этого необходимо проделать процедуру jail break, чтобы можно было установить на устройство AppSync для установки взломанных приложений.

Первым делом нужно немного изменить файл xcode (делаем бекапы в обязательном порядке).
В плисте SDKSettings.plist который находится в папке /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

В этом файле заменим параметры ключей CODE_SIGNING_REQUIRED и ENTITLEMENTS_REQUIRED с YES на NO.

Для удобства изменения параметров в файле SDKSettings.plist можно этот файл скопировать на рабочий стол, а после исправления скопировать в папку /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk

После успешной правки файла, необходимо создать самоподписанный сертификат. Открываем утилиту управления сертификатами, ключами и паролями: Applications > Utilities > Keychain Access (Программы > Служебные программы > Связка ключей).
Из меню Keychain Access выбираем пункт Certificate Assistant, а в нем – Create a Certificate (Связка ключей > Ассистент сертификации > Создать сертификат).
Указываем Имя – iPhone Developer , Тип идентификации: «Самоподписанный корневой сертификат», и Тип сертификата: «Подпись кода» (codesign), так же ставим галку «Заменить настройки по умолчанию». Далее делаем по принципу “далее”. В результате должно получиться что-то похожее на это:

Нужно разрешить XCode использовать этот сертификат для подписания кода. Для этого в терминале нужно выполнить следующее:

sudo /usr/bin/sed -i .bak ‘s/XCiPhoneOSCodeSignContext/XCCodeSignContext/’ /Developer/Platforms/iPhoneOS.platform/Info.plist

Теперь необходимо перезапустить xCode и убедиться, что выбран сертификат -iPhone Developer.