Apple широко известна тем, что держит iOS под контролем, запрещает скачивание с открытым исходным кодом и сторонние загрузки. Хотя для этого есть много причин, наиболее часто упоминаются три: контроль качества, предотвращение вредоносных программ и, конечно же, деньги.

Главная причина, по которой Apple отклоняет приложения из App Store, заключается в том, что они вылетали. Во-вторых, это безопасность, поскольку они не хотят, чтобы пользователи загружали вирусы или трояны, которые могли бы повредить устройства или украсть данные. Конечно, Apple всегда сохраняет для себя 30% доходов от приложений, поэтому для них выгодно убедиться, что только самые качественные приложения делают это.

Процесс проверки и подписи помогает предотвратить появление «плохих яиц» и дает им возможность повсеместно заблокировать любое приложение и / или разработчика, которые проскальзывают через трещины.

Но есть исключение

Поскольку они общеизвестно осторожны с процессом одобрения, отслеживая любые обходные пути и быстро подавляя его, я обнаружил удивление, когда смог легко загрузить сторонний эмулятор Game Boy Advance на свой iPhone 5 напрямую из Safari без каких-либо вопросы, и без джейлбрейка.

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка

Как происходит что-то подобное?

Человек, который размещал бесплатное приложение для эмулятора GBA, начал с поиска исходного кода эмулятора на GitHub (который был основан на gpSphone от ZodTTD, заядлого хакера по портированию программного обеспечения, в работу которого входит несколько эмуляторов).

На этом этапе любой, у кого есть Mac и некоторые базовые навыки кодирования, может запустить свободно доступный Xcode Apple, клонировать Git-repo, скомпилировать приложение и использовать XCode для его установки на iPhone. Но создать и подписать файл .ipa, который можно установить на любой не взломанный телефон, не так просто.

Создание приложений iOS с открытым исходным кодом с MacBuildServer

MacBuildServer, на помощь. Наш друг на эмуляторе просто подключил доступный только для чтения Git URI к невероятно простому процессу, доступному на MacBuildServer, который автоматически клонирует Git-репо (то есть захватывает копию исходного кода), создает приложение и затем подписывает его. Это как процесс, который вы можете пройти с Xcode, но без каких-либо хлопот.

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка
Изображение через wonderhowto.com

Мы связались с Сергеем Дмитриевым (@ blackie6 в Твиттере), одним из соучредителей MacBuildServer, чтобы узнать больше о том, как он работает, и, в частности, о том, как приложения, созданные с их системой, можно загружать без необходимости проходить через приложение iOS Хранить.

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка
Изображение через twimg.com

Когда меня спросили, нужно ли мне приносить свой собственный сертификат, Сергей очень четко сказал: «Каждый пользователь MacBuildServer должен иметь свой собственный сертификат и подписывать свои приложения им».

Однако в случае демонстрационной страницы MacBuildServer (которая, кажется, находится под большой нагрузкой … будьте готовы потратить на нее около часа), мне была предоставлена ​​возможность «Пропустить этот шаг«без загрузки моего сертификата. Когда я спросил об этом, Сергей ответил:

«Мы подписываем приложения, скомпилированные с MacBuildServer, с нашим собственным корпоративным сертификатом, чтобы показать, насколько просто работает весь процесс. Это означает, что вы используете его только для тестирования приложений. У нас нет никаких ограничений (по крайней мере, мы никогда не достигли их) ,

«Так что технически вам не нужно иметь собственный сертификат, но вам лучше иметь его :)»

Для записи, я делаю.

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейкаКак загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейкаКак загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка

Конечным результатом является то, что демонстрационная версия MacBuildServer дает вам процесс в три клика для создания любого приложения iOS с открытым исходным кодом, которое вы можете найти на GitHub, и подписываете его корпоративным сертификатом, который позволяет без джейлбрейка побочной загрузки для ваших собственных целей тестирования.

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка

Видя, как вы компилируете из исходного кода, вы находятся технически тестирование … правильно?

Но подождите … Я думал, iOS не разрешает загрузку приложения?

Стандартная iOS обычно не допускает боковой загрузки неподписанных приложений — единственный способ сделать это сейчас — сделать джейлбрейк. Процесс подписи, который MacBuildServer использует для умного обхода этого ограничения, заключается в том, чтобы вы использовали собственный сертификат или просто использовали их сертификат из корпоративной программы разработчика iOS для подписания скомпилированного приложения (опять же, для целей тестирования).

Корпоративная программа iOS для разработчиков

IOS Developer Enterprise Program была разработана, чтобы позволить компаниям разрабатывать собственные приложения для использования в своей организации, не публикуя их в App Store.

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

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка
Изображение через tabtimes.com

Но попасть в корпоративную программу не так просто, как в стандартную программу для iOS. Разработчик должен иметь законный бизнес, чтобы войти — Дан Для регистрации требуется номер Брэдстрита (D-U-N-S), который, по-видимому, является системой проверки кредитоспособности, которая проверяет надежность бизнеса.

Попав в корпоративную программу iOS Developer, она «позволяет вам распространять свои приложения среди сотрудников или членов вашей организации с помощью специальной рассылки».

Получение доступа к внутренним приложениям

Итак, как именно мы получаем доступ к корпоративному подписанному приложению? Чтобы понять это, вам нужно взглянуть на процесс развертывания собственных приложений для сотрудников / участников:

  1. Первый шаг — зарегистрироваться в программе iOS Developer Enterprise.
  2. Далее вам нужно подготовить приложение к распространению.
  3. Затем вам нужно создать профиль обеспечения распространения предприятия, который авторизует любые устройства, которые вы хотите использовать в приложении.
  4. Наконец, создайте приложение с профилем обеспечения и разверните его для всех своих пользователей.

Ключевой частью этого списка является профиль обеспечения распределения предприятия, что позволяет отправлять приложение для установки на неограниченное количество устройств iOS (в отличие от обычного ограничения в 100 устройств, установленного обычной программой iOS Developer, позволяет).

Серая Область — Распределение

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

Когда дело доходит до распространения приложения с открытым исходным кодом, как эмулятор GBA используя сертификат Enterprise, мы попадаем в «серую область» с корпоративным соглашением.

Трудно проверить, что люди, загружающие приложение, являются частью той же компании или организации, которая его подписала. Может показаться, что любой, кто на предприятии распространяет одно из своих подписанных приложений, будет неявно членом организации, которой он хочет распространить это приложение. Кроме того, если вы помогаете протестировать проект с открытым исходным кодом, это, похоже, также удовлетворяет требованиям.

Опять же, если вы хотите быть в большей безопасности и знаете кое-что о кодировании, вы можете помочь исправить одну из открытых ошибок и отправить запрос на извлечение, четко документируя ваше участие в «организации», разрабатывающей приложение. Итак, я просто предположу, что это то, что вы делаете.

Установка корпоративных приложений

Приложения с корпоративной подписью можно просто загрузить с любого веб-сайта на любое устройство iOS или загрузить с помощью iTunes. Всякий раз, когда пользователь открывает приложение, подписанное компанией, в первый раз, сертификат обеспечения проверяется путем обращения к серверу Apple, который затем позволяет приложению успешно работать.

Вы можете проверить сертификат, который появляется на вашем устройстве после загрузки, если вы идете в Настройки -> Общие -> Профиль (как на картинках ниже, для iOS 6 и iOS 7).

Как загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейкаКак загрузить и установить приложения iOS с открытым исходным кодом на iPhone с помощью MacBuildServer - без джейлбрейка
Изображение через wonderhowto.com

Ответ проверки с сервера Apple затем кэшируется на устройстве в течение трех-семи дней, после чего сертификат повторно проверяется на достоверность при каждом перезапуске телефона или истечении срока действия ответа кэша.

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

И кроме того … Я заканчиваю свою «резервную копию» Pokemon Red.

Оцените статью!