Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake)

в 17:22, , рубрики: xcode

В конце мая 2014 года я писал подробную статью как тестировать приложения на iOS7 и Xcode 5.1.1, но не далее как два месяца назад миру был представлен iPhone 6 и iPhone 6 Plus с новой операционной системой iOS 8 и Apple изменила что-то в коде и старый «твик» более не работает. Знаю, что некоторым интересно попробовать написать приложение для iOS, чисто в познавательных целях, но 99USD платить Apple за «любознательность» не хочется. Не отчаивайтесь, не все так страшно, более того, теперь всё гораздо проще — больше не нужно создавать сертификаты и компилировать ldid для отладки.
Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 1

Итак, версии софта, которые я использовал:

  • OS X Mavericks 10.9.5
  • Xcode 6.1
  • iOS 8.1 iPhone 6 Plus

Что же потребуется для «любознательности»? Всего то:

  1. Заджейлить наше iOS устройство
  2. Подготовить iOS к установке само-подписанных приложений
  3. Подсоединить iOS к Xcode и настроить девайс для разработки
  4. Настроить Xcode для использования само-подписанного сертификата
  5. Настроить Xcode для отладки на целевом устройстве

Джейлим iOS

Тут в общем всё просто. На данный момент прошивка, поддающаяся взлому 8.1. Все остальное можно почерпнуть с сайта pangu.io.
Если нет взломанного устройства — то закрываем данный туториал и платим 99USD Apple.

Подготавливаем наше iOS устройство к установке само-подписанных приложений

Довольно известный факт, что того чтобы ставить само-подписанные приложения (суть взломанные) необходимо установить в Cydia так называемый AppSync. Очень рекомендую устанавливать AppSync Unified с репозитория Karen aka angelXwind http://cydia.angelxwind.net. В случае если установлен китайский магазин PP, очень настоятельно рекомендую установить твик "Complete PPSync Remover". Как пишет Karen, она в шоке как криворукие китайцы, который писали PP сделали свой PPSync.

Подключаем и настраиваем наше iOS устройство к Xcode

  1. Запускаем Xcode
  2. Цепляем iOS устройство к USB
  3. Открываем окно Devices (WindowDevices)
  4. Видим наше подключенное устройство

Интересно, но раньше, необходимо было нажимать кнопочку "Use for development", сейчас же Xcode при подключении нового устройства ничего не спросил, только залил туда некую инфу.

Настраиваем Xcode для использования само-подписанного сертификата

  1. Закрываем Xcode, если он открыт.
  2. Открываем Terminal
    cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
    # create copy of SDKSettings.plist
    sudo cp -p SDKSettings.plist SDKSettings.plist.orig
    # convert to editable xml format
    sudo plutil -convert xml1 SDKSettings.plist
    
  3. Открываем SDKSettings.plist текстовым редактором и заменяем значение параметра "AD_HOC_CODE_SIGNING_ALLOWED" на "YES", а параметра "CODE_SIGNING_REQUIRED" на "NO".
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 2
  4. Открываем Xcode
  5. Открываем или создаем проект и идем в настройки проекта, в закладку "Build settings". Устанавливаем в поле "Code Signing Identity" значение "Ad Hoc Code Sign"
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 3
  6. Около кнопки «Run» выбираем наше подключенное iOS устройство.
  7. Жмем «Run» и Xcode транслирует исходники в исполняемый файл и загружает его в устройство.
  8. Далее Xcode показывает нам следующую ошибку:
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 4
    Так и должно быть, потому что отладчик мы еще не настроили, но само приложение можно уже запускать на устройстве.

Настраиваем Xcode для отладки приложения на целевом устройстве

  1. При открытом тестируемом проекте создаем новый PropertyList файл — (FileNewFile, iOSResource — Property List).
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 5
  2. Указываем имя создаваемого файла как Entitlements.plist
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 6
  3. Открываем только что созданный файл и добавляем туда параметр "Can be debugged" со значением "YES"
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 7
  4. Идем в настройки проекта, в закладку "Build settings". В поле "Code Signing Entitlements" устанавливаем значение "Entitlements.plist"
    Тестируем iOS8 приложения с Xcode 6.1 без Apple Developer Program Membership (Jailbrake) - 8
  5. Собираем приложение и запускаем на целевом iOS устройстве.

Надеюсь данное руководство поможет начинающим программистам iOS просто и незатейливо попробовать свои силы в написании программ для устройств Apple.

Автор: mefikru

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js