Дорого дня, уважаемые хабражители!
Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.
![](https://habrastorage.org/r/w1560/files/38b/97d/250/38b97d250e3d41b796ce7cf5df3277ea.png)
Осторожно! Много картинок!
Как извеcтно, Apple разрешили разработчикам, не заплатившим $99 в год за возможность выкладывать приложения в AppStore, тестировать свои собственные программы на реальных устройствах с iOS 9. Раньше эта привилегия была лишь у «проплаченных» разработчиков. Ну и у тех, кто делает jailbreak.
Стало быть, теперь каждый человек, имеющий Apple ID и OS X с установленным Xcode, может стать разработчиком приложений и получить Provision Profile для своего приложения! На этом-то и основан описанный в данной статье метод. Если у тебя, читатель, есть всё вышеперечисленное, то смело иди на developer.apple.com и регистрируйся в качестве разработчика!
Теперь переходим к самому интересному. Запускаем Xcode, открываем настройки и переходим во вкладку «Accounts», где нажимаем на плюсик и вводим данные своего Apple ID. Теперь видим, что добавленный аккаунт является бесплатным участником программы для разработчиков под iOS. Замечательно! Теперь жмём «View Details...».
![](https://habrastorage.org/r/w1560/files/09c/351/c42/09c351c4285b4c989eaeddb6b7e2045b.png)
Вверху видим, что у нас не создан Signing identity, нажимаем на кнопку Create.
![](https://habrastorage.org/r/w1560/files/cfb/fc8/157/cfbfc81576244f4cbfccc4dc68980b99.png)
Теперь переходим к созданию Provision Profile. Через сайт его создать не выйдет: баг, однако! Но у нас ведь есть Xcode, так что не отчаиваемся, а создаём новый проект. Я выбрал игру, но это не имеет значения.
![](https://habrastorage.org/r/w1560/files/7de/7ba/acd/7de7baacd4b9443f8cb5c19cdfe90bcd.png)
Bundle ID я задал ru.habr.testapp, это потом пригодится, когда я буду искать этот профайл среди других, а их у меня в системе много. Если у тебя, уважаемый читатель, это первый опыт с Xcode, то будет сильно проще найти нужный профайл.
![](https://habrastorage.org/r/w1560/files/245/49c/b73/24549cb736a84296ae8790c90dacd91c.png)
Что ж, теперь заходим в настройки проекта и видим, что параметр «Team» не установлен. Установим его в наш свежедобавленный аккаунт разработчика!
![](https://habrastorage.org/r/w1560/files/d66/d08/ec4/d66d08ec42ca4332862b92f8a0152ef1.png)
У меня тут много всякого, но у тебя, читатель, должен быть лишь один аккаунт. Его и выбирай!
![](https://habrastorage.org/r/w1560/files/757/462/f38/757462f38a2e46dcb508db2573b22053.png)
Теперь видим, что у нас беда с подписью, ведь нет Provision Profile, но Xcode героически предлагает взять исправление проблемы на себя и «исправить положение вещей». Что ж, позволим ему это сделать: жмём «Fix issue».
![](https://habrastorage.org/r/w1560/files/13b/eaa/7f4/13beaa7f4f014861b1cc8dcc94355c2a.png)
Вуаля! Теперь профайл есть, в чём легко убедиться, зайдя опять в свойство аккаунта:
![](https://habrastorage.org/r/w1560/files/039/f64/074/039f640740fc401cbc5ee49a68354849.png)
Теперь идём в терминал: ведь нам нужен сам профайл, а он запрятан в хитром месте. Переходим в папку
![](https://habrastorage.org/r/w1560/files/ad8/d3b/cf2/ad8d3bcf25cd402b909728d9c88e3e49.png)
Если же есть сомнения в том, какой именно профайл нам нужен, то можно воспользоваться моим скриптом для поиска «того самого»:
![](https://habrastorage.org/r/w1560/files/c5d/3b7/840/c5d3b78403cc469e8566c7691d90927f.png)
Как видите, bundle id я использовал для поиска профайла.
Что ж, теперь у нас есть аккаунт разработчика и провижн профайл. Что нам теперь нужно? Ах да, нужна программка для переподписания ipa-файла нашим профайлом! Можно попробовать поколдовать с консолью, а можно воспользоваться готовым GUI-решением iModSign. Качаем программу и устанавливаем в
![](https://habrastorage.org/r/w1560/files/53e/d3e/d68/53ed3ed687f341149517599b96cffe46.png)
Первые две кнопки неактивны, ибо я уже их нажимал. По нажатию на первую устанавливаются command line tools, которые Xcode по умолчанию не ставит, по нажатию на вторую появляется окно выбора сертификата разработчика:
![](https://habrastorage.org/r/w1560/files/73c/aab/217/73caab2171c34fe8b32dce9357e33c8e.png)
Конечно, у тебя, читатель, должен и здесь быть порядок, не то что у меня, в моей замусоренной системе.
По нажатию на третью кнопку, мы можем выбрать наш найденный профайл.
![](https://habrastorage.org/r/w1560/files/5e2/d31/096/5e2d31096a7a4f7f979c9b078cd62511.png)
Ну вот и всё, программа настроена и готова к работе! Что бы нам такое установить?.. Ну, к примеру, BarMagnet для управления торрент-качалками. Качаем .ipa файл и перетаскиваем в iModSign.
![](https://habrastorage.org/r/w1560/files/e5d/71b/5b0/e5d71b5b0f5342bbba5b5d149f549171.png)
Готово для подписания! Жмём на «Start Job».
![](https://habrastorage.org/r/w1560/files/770/e5f/a49/770e5fa492aa486890219e91419a3856.png)
Заходим теперь в папку
![](https://habrastorage.org/r/w1560/files/c7a/f7e/6ee/c7af7e6ee81d461bb8a509d4d032e992.png)
Дабл-клик — и он добавлен в iTunes, и теперь мы можем его установить на девайс. Я тестировал на iPad Air 2 с установленным iOS 9.0.2, ясно дело, никакого Jailbreak для него пока ещё нет.
![](https://habrastorage.org/r/w1560/files/da0/b74/972/da0b749720d34bef97b184c5bd0ab178.png)
После синхронизации и установки, которая проходит гладко, можно увидеть BarMagnet на устройстве:
![](https://habrastorage.org/r/w1560/files/9f7/d33/061/9f7d330612f94f51b8c175e09448d272.png)
Но он не запустится, можете поверить. А можете и проверить. Но это поправимо, просто наш девайс пока нам же не доверяет. Но мы его научим доверять, зайдя в настройки и подтвердив доверие разработчику:
![](https://habrastorage.org/r/w1560/files/52c/7ff/cb6/52c7ffcb6ea24ab8832ffc39299987b9.png)
![](https://habrastorage.org/r/w1560/files/262/db8/4f2/262db84f27a047febce7cc2cf8086d92.png)
У меня тут уже доверие включено, но в первый раз это выглядит немного иначе. Но опять же, ты же, читатель, не идиот? Найдёшь там нужную кнопку? Конечно, найдёшь!
Всё, можно запускать программу и радоваться возможности управления всеми своими торрентокачалками прямо с девайса!
![](https://habrastorage.org/r/w1560/files/75c/7af/54e/75c7af54ebdc4110b6f1a84afe7753b4.png)
Надеюсь, что ты, читатель, не будешь злоупотреблять данным методом и устанавливать игры, скачанные с торрентов. И конечно же, ты понимаешь, что всё написанное — чисто для ознакомления, а я не несу никакой ответственности за возможные последствия для девайса или ещё чего. И я не гарантирую работоспособность метода с последующими версиями iOS и Xcode. И даже с текущими!
Так что будьте осторожны. И берегите себя.
Сегодня я расскажу вам о том, как можно установить неподписанное (или плохо подписанное) приложение на устройство с iOS 9. Да, без Jailbreak. Да, бесплатно. Нужен лишь компьютер с OS X и Apple ID. Как такое возможно? Читаем под катом.
![](https://habrastorage.org/files/38b/97d/250/38b97d250e3d41b796ce7cf5df3277ea.png)
Осторожно! Много картинок!
Как извеcтно, Apple разрешили разработчикам, не заплатившим $99 в год за возможность выкладывать приложения в AppStore, тестировать свои собственные программы на реальных устройствах с iOS 9. Раньше эта привилегия была лишь у «проплаченных» разработчиков. Ну и у тех, кто делает jailbreak.
Стало быть, теперь каждый человек, имеющий Apple ID и OS X с установленным Xcode, может стать разработчиком приложений и получить Provision Profile для своего приложения! На этом-то и основан описанный в данной статье метод. Если у тебя, читатель, есть всё вышеперечисленное, то смело иди на developer.apple.com и регистрируйся в качестве разработчика!
Теперь переходим к самому интересному. Запускаем Xcode, открываем настройки и переходим во вкладку «Accounts», где нажимаем на плюсик и вводим данные своего Apple ID. Теперь видим, что добавленный аккаунт является бесплатным участником программы для разработчиков под iOS. Замечательно! Теперь жмём «View Details...».
![](https://habrastorage.org/files/09c/351/c42/09c351c4285b4c989eaeddb6b7e2045b.png)
Вверху видим, что у нас не создан Signing identity, нажимаем на кнопку Create.
![](https://habrastorage.org/files/cfb/fc8/157/cfbfc81576244f4cbfccc4dc68980b99.png)
Теперь переходим к созданию Provision Profile. Через сайт его создать не выйдет: баг, однако! Но у нас ведь есть Xcode, так что не отчаиваемся, а создаём новый проект. Я выбрал игру, но это не имеет значения.
![](https://habrastorage.org/files/7de/7ba/acd/7de7baacd4b9443f8cb5c19cdfe90bcd.png)
Bundle ID я задал ru.habr.testapp, это потом пригодится, когда я буду искать этот профайл среди других, а их у меня в системе много. Если у тебя, уважаемый читатель, это первый опыт с Xcode, то будет сильно проще найти нужный профайл.
![](https://habrastorage.org/files/245/49c/b73/24549cb736a84296ae8790c90dacd91c.png)
Что ж, теперь заходим в настройки проекта и видим, что параметр «Team» не установлен. Установим его в наш свежедобавленный аккаунт разработчика!
![](https://habrastorage.org/files/d66/d08/ec4/d66d08ec42ca4332862b92f8a0152ef1.png)
У меня тут много всякого, но у тебя, читатель, должен быть лишь один аккаунт. Его и выбирай!
![](https://habrastorage.org/files/757/462/f38/757462f38a2e46dcb508db2573b22053.png)
Теперь видим, что у нас беда с подписью, ведь нет Provision Profile, но Xcode героически предлагает взять исправление проблемы на себя и «исправить положение вещей». Что ж, позволим ему это сделать: жмём «Fix issue».
![](https://habrastorage.org/files/13b/eaa/7f4/13beaa7f4f014861b1cc8dcc94355c2a.png)
Вуаля! Теперь профайл есть, в чём легко убедиться, зайдя опять в свойство аккаунта:
![](https://habrastorage.org/files/039/f64/074/039f640740fc401cbc5ee49a68354849.png)
Теперь идём в терминал: ведь нам нужен сам профайл, а он запрятан в хитром месте. Переходим в папку
~/Library/MobileDevice/Provisioning Profiles/
и видим, что у нас там либо бардак (если в системе много профайлов накопилось, у меня их 50 штук), либо порядок (если ты, читатель, являешься новичком в разработке под iOS).![](https://habrastorage.org/files/ad8/d3b/cf2/ad8d3bcf25cd402b909728d9c88e3e49.png)
Если же есть сомнения в том, какой именно профайл нам нужен, то можно воспользоваться моим скриптом для поиска «того самого»:
![](https://habrastorage.org/files/c5d/3b7/840/c5d3b78403cc469e8566c7691d90927f.png)
Как видите, bundle id я использовал для поиска профайла.
Что ж, теперь у нас есть аккаунт разработчика и провижн профайл. Что нам теперь нужно? Ах да, нужна программка для переподписания ipa-файла нашим профайлом! Можно попробовать поколдовать с консолью, а можно воспользоваться готовым GUI-решением iModSign. Качаем программу и устанавливаем в
/Applications/
. Теперь можем запустить её и настроить. Я уже настраивал у себя, так что скриншоты не совсем верные для первого запуска, но я думаю, что ты, читатель, не идиот, так что разберёшься.![](https://habrastorage.org/files/53e/d3e/d68/53ed3ed687f341149517599b96cffe46.png)
Первые две кнопки неактивны, ибо я уже их нажимал. По нажатию на первую устанавливаются command line tools, которые Xcode по умолчанию не ставит, по нажатию на вторую появляется окно выбора сертификата разработчика:
![](https://habrastorage.org/files/73c/aab/217/73caab2171c34fe8b32dce9357e33c8e.png)
Конечно, у тебя, читатель, должен и здесь быть порядок, не то что у меня, в моей замусоренной системе.
По нажатию на третью кнопку, мы можем выбрать наш найденный профайл.
![](https://habrastorage.org/files/5e2/d31/096/5e2d31096a7a4f7f979c9b078cd62511.png)
Ну вот и всё, программа настроена и готова к работе! Что бы нам такое установить?.. Ну, к примеру, BarMagnet для управления торрент-качалками. Качаем .ipa файл и перетаскиваем в iModSign.
![](https://habrastorage.org/files/e5d/71b/5b0/e5d71b5b0f5342bbba5b5d149f549171.png)
Готово для подписания! Жмём на «Start Job».
![](https://habrastorage.org/files/770/e5f/a49/770e5fa492aa486890219e91419a3856.png)
Заходим теперь в папку
iModSigned
, находящуюся на рабочем столе. Там видим уже подписанный ipa:![](https://habrastorage.org/files/c7a/f7e/6ee/c7af7e6ee81d461bb8a509d4d032e992.png)
Дабл-клик — и он добавлен в iTunes, и теперь мы можем его установить на девайс. Я тестировал на iPad Air 2 с установленным iOS 9.0.2, ясно дело, никакого Jailbreak для него пока ещё нет.
![](https://habrastorage.org/files/da0/b74/972/da0b749720d34bef97b184c5bd0ab178.png)
После синхронизации и установки, которая проходит гладко, можно увидеть BarMagnet на устройстве:
![](https://habrastorage.org/files/9f7/d33/061/9f7d330612f94f51b8c175e09448d272.png)
Но он не запустится, можете поверить. А можете и проверить. Но это поправимо, просто наш девайс пока нам же не доверяет. Но мы его научим доверять, зайдя в настройки и подтвердив доверие разработчику:
![](https://habrastorage.org/files/52c/7ff/cb6/52c7ffcb6ea24ab8832ffc39299987b9.png)
![](https://habrastorage.org/files/262/db8/4f2/262db84f27a047febce7cc2cf8086d92.png)
У меня тут уже доверие включено, но в первый раз это выглядит немного иначе. Но опять же, ты же, читатель, не идиот? Найдёшь там нужную кнопку? Конечно, найдёшь!
Всё, можно запускать программу и радоваться возможности управления всеми своими торрентокачалками прямо с девайса!
![](https://habrastorage.org/files/75c/7af/54e/75c7af54ebdc4110b6f1a84afe7753b4.png)
Надеюсь, что ты, читатель, не будешь злоупотреблять данным методом и устанавливать игры, скачанные с торрентов. И конечно же, ты понимаешь, что всё написанное — чисто для ознакомления, а я не несу никакой ответственности за возможные последствия для девайса или ещё чего. И я не гарантирую работоспособность метода с последующими версиями iOS и Xcode. И даже с текущими!
Так что будьте осторожны. И берегите себя.