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


382

Как я могу протестировать приложение iOS на моем iPod Touch без регистрации в программе Apple Developer Program или джейлбрейка моего iPod?

Ни один из возможных вариантов на данный момент.

Я хотел бы протестировать на самом устройстве вместо экранного симулятора, чтобы увидеть, как оно работает на реальном iPod.


2
8 июня Apple объявила, что с помощью Xcode 7 возможна установка любых приложений, которые они разрабатывают на своих устройствах без сертификата программы разработчика Apple. На сайте Apple Developer говорится, что нам нужно войти в систему только с Apple ID.
Скайвин

Проверьте этот ответ для более подробной информации об использовании бесплатной инициализации stackoverflow.com/questions/30973799/…
Aditya Deshmane

Является ли платная учетная запись разработчика вашей проблемой? Или вы не хотите регистрировать свой UDID в Apple? Даже бесплатная учетная запись в принятом ответе требует наличия бесплатной зарегистрированной учетной записи в программе разработчика Apple и добавления UDID устройства в профиль обеспечения разработки для iOS.
wottle

1
Вот еще одно пошаговое руководство: stackoverflow.com/a/33928777
Suragch

@wottle: «платная учетная запись разработчика» - безопасная ставка, учитывая, что регистрация UDID с бесплатной учетной записью была невозможной, например, пять лет назад (время, когда задавался этот вопрос). И в то время, принятый ответ (мой) просто сказал, что не было никаких других вариантов.
BoltClock

Ответы:


429

Через семь лет после создания App Store (10 июля 2008 г.) Apple наконец-то представила новую функцию в Xcode 7, которая позволяет развертывать и запускать любое количество приложений на любом из ваших устройств, просто войдя в систему с помощью Apple. Я БЫ. Вам больше не понадобится платное членство в Программе для развертывания приложений на вашем собственном устройстве (и вам, безусловно, больше не придется делать джейлбрейк вашего устройства, если вам неудобно это делать).

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

Запустите приложение на устройствах с помощью бесплатной инициализации (iOS, watchOS)

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

Точные шаги по установке вашего приложения на ваше устройство iOS или Apple Watch следуют сразу же (скриншоты для удобства просмотра не показаны):

  1. В XCode добавьте свой Apple ID к настройкам Учетных записей, описанным в Добавление Вашей учетной записи Apple ID в XCode .

  2. В навигаторе проекта выберите проект и цель для отображения редактора проекта.

  3. Нажмите «Общие» и выберите свое имя во всплывающем меню «Команда».

  4. Подключите устройство к Mac и выберите свое устройство в меню панели инструментов «Схема».

  5. Под всплывающим меню «Команда» выберите «Исправить проблему».

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

  6. Нажмите кнопку «Выполнить».

    Xcode устанавливает приложение на устройство перед его запуском.

До Xcode 7 действительно требовалось членство в Программе, чтобы подписать сертификаты обеспечения, необходимые для развертывания приложений на устройствах. Единственной альтернативой был джейлбрейк. С Xcode 7 вам больше не нужно делать джейлбрейк вашего устройства только для запуска приложений, распространяемых за пределами App Store, или для тестирования приложений, если вы не можете позволить себе присоединиться к Программе, или для развертывания и использования приложений, которые вы разработали для своего личного использования. если вы не собираетесь распространять их через App Store (в этом случае вам, вероятно, все равно не нужны права, предоставляемые членством в Программе).


Просто к сведению: я установил Xcode 7 и попытался запустить на своем телефоне, но я не смог правильно понять все зависимости сборки, поэтому я переключился обратно на Xcode 6 и, наконец, смог запустить на своем собственном устройстве! Xcode 7 должен добавить лицензию к вашей учетной записи, которую распознает Xcode 6 :)
Мистер Мистер

1
Я только что развернул несколько примеров приложений, которые я создавал за последние пару недель, на своем iPAD Air с использованием Xcode7. Дает гораздо лучший опыт для тестирования вашего приложения без оплаты подписки. Этот пост был действительно полезным. Спасибо, парни.
Learn_develop

1
@BoltClock Я также думаю, что вы должны более четко указать, когда Apple сделала это изменение. «Через семь лет после создания App Store» -> большинство людей, вероятно, не помнят, когда был создан App Store, и не хотят его искать или делать арифметику.
Miscreant

5
Вместо Схемы мне пришлось перейти в Product-> Destination. Там я должен был выбрать свое устройство. Тогда это сработало. Также не забудьте разрешить установку таких приложений на вашем iPhone, зайдя в Настройки -> Общие -> Профиль. Вы увидите свою учетную запись разработчика. Нажмите на это. Вы должны увидеть приложение, указанное там. Нажмите на него. Нажмите «Доверие (имя здесь)»
Mutp

Swift 2 принимает парадигму функционального дизайна, и вскоре будет открыт. Xcode 7 и iOS 9 предоставляют бесплатную инициализацию устройств для начинающих и потенциально революционных разработчиков. Мы действительно живем в идеологически реформированную эпоху, и какое сейчас время жить.
LOL

82

Есть способ, которым ты можешь сделать это.

Вам понадобится ROOT-доступ для редактирования следующего файла.

Перейдите к /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdkфайлу и откройте его SDKSettings.plist.

В этом файле разверните DefaultProperties и измените CODE_SIGNING_REQUIRED на NO, пока вы там, вы также можете изменить ENTITLEMENTS_REQUIRED на NO.

Вам нужно будет перезапустить Xcode, чтобы изменения вступили в силу. Кроме того, вы должны сделать это для каждого .sdk, который вы хотите запустить на устройстве.

Теперь в настройках вашего проекта вы можете изменить Code Signing Identityна Don't Code Sign.

Теперь ваше приложение должно быть успешно собрано и установлено на вашем устройстве.

ОБНОВИТЬ:

Есть некоторые проблемы с iOS 5.1 SDK, что этот метод может не работать точно так же. Любые другие обновления будут перечислены здесь, когда они станут доступны.

ОБНОВИТЬ:

Вы можете найти правильный путь к SDKSettings.plistс xcrun.

xcrun --sdk iphoneos --show-sdk-path

Новое расположение SDKSettings.plist для iOS 5.1 SDK:

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


9
Это создаст приложение без подписи, но как вы собираетесь установить / запустить его на не взломанном устройстве?
Дэвид Гелхар

4
Может установить, но никогда не откроется.
Домнесс

4
Да, с iOS5 это все еще возможно. Вам все еще нужно ldidбудет подделать код подписи вашего двоичного файла. code.google.com/p/networkpx/downloads/detail?name=ldid
WrightsCS

7
ОП попросил решение, не связанное с джейлбрейком
malhal

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

55

С Xcode 7 вам больше не требуется иметь учетную запись разработчика для тестирования ваших приложений на вашем устройстве :

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

Проверьте это здесь .

Обратите внимание, что это официально поддерживается Apple, поэтому нет необходимости в джейлбрейкнутых устройствах или тестировании на симуляторе, но вам придется использовать Xcode 7 (в настоящее время в бета-версии на момент написания этой статьи) или позже.

Я успешно развернул приложение на своем iPhone без учетной записи разработчика. Вам придется использовать свою учетную запись iCloud для решения проблем с профилем обеспечения. Просто добавьте свою учетную запись iCloud и назначьте ее в команде выпадающем списке (в меню Identity ), а кнопка « Fix Issue» сделает все остальное.


ОБНОВИТЬ:

У некоторых людей проблемы с iOS 8.4 , вот как это исправить .


Это официально, все еще в бета-режиме, хотя
Фади Обаджи

Кому-нибудь удалось использовать эту новую функцию? У меня не работает
Даниил

Работал на меня. Вы используете XCode 7?
Роберто

Любые учебники? Компиляция приложения pythonista для моего iPad
Люк Тейлор

Каким должен быть идентификатор пакета?
Люк Тейлор

12

Я никогда не пробовал, но, выполняя поиск в Google, Jailcoder выглядит как решение. Проблема в том, что устройство должно быть взломано. Если кто-то попробует это, пожалуйста, прокомментируйте и дайте нам знать, как это работает.


2
Работал отлично для меня. Единственное, что раздражает, так это то, что они хотят, чтобы вы одобрили добавление некоторых сертификатов в связку ключей, не сообщая вам точно, что они делают. Они выглядят так же, как если бы вы пытались сделать это как ручной процесс. Это довольно легко. Я перешел от чистой установки Xcode к одному из моих приложений, запущенных на моем iPhone менее чем за 5 минут. Я использую Xcode 4 и iOS 5.0.1 Jailbroken.
Каменный Мейсон

Большой! спасибо за ответ назад @ cool_me5000. Ваш опыт в этом поможет другим людям, которые хотят попробовать. Я проверю это когда-нибудь.
Firula

Это устарело и не отвечает требованиям, изложенным в вопросе, чтобы сделать это без джейлбрейка.
dgeske

8

Перейти параметры сборки под Кодовое Подписание , набор подписывания кода идентичности , как IOS Developer & Provisioning Profile как Automatic .

Выберите ваше устройство (теперь видимое) из выпадающего списка и запустите приложение.

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


6

Приведенные выше ссылки на JailCoder указывают на сайт, который больше не существует. Похоже, вы должны использовать http://oneiros.altervista.org/jailcoder/ или https://www.facebook.com/jailcoder


jailcoder - очень приятная и простая утилита для подделки фальшивого кода и загрузки приложения на реальное устройство. Вам нужны сертификаты iPhone Developer и iPhone Distribution.
user914425

2

только что протестировал JailCoder www.jailcoder.com и я могу запускать и отлаживать на взломанных устройствах. Вам просто нужна новая нетронутая установка xCode, если нет, просто удалите и установите xCode снова и запустите JailCoder


1

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


17
Это стоило бы доллара, конечно. А 99 баксов? В прошлый раз, когда я заплатил кому-то 99 долларов, чтобы я мог установить программу, которую я написал, на свою машину ... никогда. И я написал много программ и владел большим количеством машин.
Шон Уорл

-1

Следуй этим шагам:

1. Откройте Xcode-> выберите проект-> выберите цели-> отметьте автоматическое управление подписью-> затем добавьте свою учетную запись разработчика Apple-> очистите проект-> создайте проект-> запустите, все работает нормально.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.