Как я могу развернуть приложение iPhone из Xcode на реальном устройстве iPhone?

StackOverflow https://stackoverflow.com/questions/246422

Вопрос

Как я могу развернуть приложение iPhone из Xcode на реальном устройстве iPhone, не имея сертификата Apple за 99 долларов США?

Это было полезно?

Решение

Похоже, приложение не подписано. Загрузите ldid из Cydia, а затем используйте его следующим образом: ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph

Также убедитесь, что двоичный файл помечен как исполняемый: chmod + x /Applications/AccelerometerGraph.app/AccelerometerGraph

Другие советы

Я использовал смесь двух инструкций: Джейсона и Алекса.Во втором случае у нас есть преимущество в возможности отладки.В основном я просто скопирую оба ниже (и упрощу Алекса):

Обновление от января 2012 г.: это все еще работает на SDK 4.2.1 и iOS 5.0.1 — я только что протестировал все это на новом компьютере и устройстве!


1.Создать самозаверяющий сертификат

Исправьте свой iPhone SDK, чтобы разрешить использование этого сертификата:

  1. Запустите приложение Keychain Access.app.Если ни один элемент не выбран, в меню «Связка ключей» выберите «Ассистент сертификатов», затем «Создать сертификат».

    • Имя: iPhone-разработчик
    • Тип сертификата: Подписание кода
    • Позвольте мне переопределить значения по умолчанию: Да
  2. Нажмите Продолжить

    • Период действия: 3650 дней
  3. Нажмите Продолжить

  4. Пустой тот Электронная почта поле адреса.

  5. Нажмите Продолжайте до завершения.

    Тебе следует увидеть «Этот корневой сертификат не является доверенным».Это ожидаемо.

  6. Настройте iPhone SDK, чтобы разрешить использование самозаверяющего сертификата:

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

    Если у вас открыт Xcode, перезапустите его, чтобы изменения вступили в силу.

И если у вас iOS 5, вот и все!Попробуй это сейчас!Возможно, отладка запрещена, но приложение будет!

Я был очень удивлен этим, потому что, как ты должен знать, я понятия не имею, что такое все эти взломы!Все, что я сделал, это немного улучшил то, что нашел в другом месте, как я уже указывал.

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

Наконец, если вам нужно удалить его по какой-то причине, проверьте конец этого поста.В моем случае мне пришлось это сделать, потому что я не мог понять, почему весь этот метод перестал работать, и меня это больше не волновало, поскольку мы уже получили долгожданную лицензию.(Чёртов номер DUNS занимает так много времени...)

.

.


.

.

.

2.Включите Xcode для сборки на взломанном устройстве

  1. Установите приложение на взломанный iPhone. AppSync добавив источник ** http://repo.hackyouriphone.org**

  2. Удалите требования SDK к знаку кода и правам (мне нравится СЭД!):

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
    
  3. Обращать внимание к iPhoneOS5.0.sdk часть.Если вы, например, используете iOS 4.2 SDK, просто замените его соответствующим образом:

    sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
    
  4. Завершите удаление требования путем исправления Xcode.Это означает двоичное редактирование:

    cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
    dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
    printf "\xc3\x26\x00\x00" >> working
    /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
    /bin/mv working iPhoneOS\ Build\ System\ Support
    chmod a+x iPhoneOS\ Build\ System\ Support
    

    Если у вас открыт Xcode, перезапустите его, чтобы это изменение (и последнее) вступило в силу.

  5. Открыть «Проект>Редактировать настройки проекта» (из меню).Нажать на "Строить" вкладка.Находить «Идентификация подписи кода» и его ребенок «Любое устройство iPhoneOS» в списке и установите оба для записи «Не кодируйте знак»:

    alt text

    После этого смело отменяйте шаг 3.По крайней мере, в моем случае все прошло нормально.

  6. Настройка Xcode для знака кода с помощью нашего индивидуального решения самоподписанный сертификат (первое руководство).Этот шаг, вероятно, можно пропустить, если вы не хотите иметь возможность отладки:

    mkdir /Developer/iphoneentitlements401
    cd /Developer/iphoneentitlements401
    curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
    mv gen_entitlements.txt gen_entitlements.py
    chmod 777 gen_entitlements.py
    

    Подключите свой iPhone и откройте Xcode.Откройте окно>Органайзер.Выберите устройство из списка слева и нажмите «Использовать для разработки». Вам будет предложено для входа в систему, нажмите «Отменить».Он предназначен для того, чтобы упростить законную подготовку, но не усложняет незаконную неподготовку.

    Сейчас Вам придется делать эту последнюю часть для каждого нового проекта, который вы создаете..Перейдите в меню «Проект» > «Новая фаза сборки» > «Новая фаза сборки сценария запуска».В окне скопируйте/вставьте это:

    export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
    if [ "${PLATFORM_NAME}" == "iphoneos" ]; then
    /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
    codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
    fi
    

.

.


.

.

Удаление

Для 1-й части:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist

Для 2-й части:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support

Если вы выполнили шаг 3 вместо шага 2, просто измените его соответствующим образом:

sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist

в остальном это просто возврат того, что вы сделали в XCode, и удаление /Developer/iphoneentitlements401/gen_entitlements.py если ты хочешь:

sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py

Бесплатная подготовка после Xcode 7

Чтобы протестировать свое приложение на реальном устройстве вместо того, чтобы платить взнос разработчика Apple (или сделать джейлбрейк вашего устройства), вы можете использовать новую бесплатную подготовку, которую поддерживают Xcode 7 и iOS 9.

Вот шаги, предпринятые более или менее из документация (что довольно хорошо, так что прочтите):

1.Добавьте свой Apple ID в Xcode

Перейдите в XCode > Настройки > вкладка «Учетные записи» > кнопка «Добавить» (+) > «Добавить Apple ID».Видеть документы для получения дополнительной помощи.

enter image description here

2.Перейдите на вкладку «Общие» в «Навигаторе проекта».

enter image description here

3.Выберите свой Apple ID во всплывающем меню «Команда».

enter image description here

4.Подключите ваше устройство и выберите его в меню схемы.

enter image description here

5.Нажмите кнопку «Исправить проблемы».

enter image description here

Если вы получите сообщение об ошибке о том, что имя пакета недействительно, измените его на что-то уникальное.

6.Запустите свое приложение

В Xcode нажмите кнопку «Создать и запустить».

enter image description here

7.Доверьтесь разработчику приложения в настройках устройства

После запуска приложения вы получите сообщение об ошибке безопасности, поскольку приложение, которое вы хотите запустить, отсутствует в App Store.

enter image description here

На ваше устройство, перейдите в «Настройки» > «Основные» > «Профиль» > ваше-Apple-ID-имя > Доверие ваше-Apple-ID-имя > Доверяй.

8.Запустите приложение на своем устройстве еще раз.

Вот и все.Теперь вы можете запускать свои собственные приложения (или любые другие приложения, исходный код которых у вас есть), не тратя 99 долларов.Спасибо, Apple, что наконец разрешили это.

Вы не можете, если вы говорите о приложениях, созданных с использованием официального SDK и развертываемых прямо из xcode.

Вам придется сделать джейлбрейк вашего устройства.

Существует способ развертывания приложений для iPhone без уплаты Apple. Вам придется сделать джейлбрейк своего устройства и следовать инструкциям в http://www.alexwhittemore.com/? р = 398

Ничто из того, что я видел нигде, не указывает на возможность специального развертывания на реальном iPhone без (платного) сертификата.

Прошлой ночью я проходил через Apple Developer и там в сертификате обеспечения я обнаружил что-то вроде - «Подписывающие члены команды». Я думаю, что есть способ добавить членов команды в платный профиль. Вы можете просто попросить владельца идентификатора приложения (платного) добавить вас в качестве члена команды. Я не уверен. Все еще ищу это.

Нет, это легко сделать. В XCode установите Активную Конфигурацию к Выпуску. Измените устройство с Симулятора на Устройство - независимо от SDK. Если вы хотите напрямую экспортировать на свой iPhone, подключите его к компьютеру. Нажмите Build и Go. Если ваш iPhone не подключен к компьютеру, появится сообщение о том, что ваш iPhone не подключен.

Если это относится к вам: (iPhone не был подключен)

Перейдите в папку ваших проектов, а затем в папку сборки внутри. Перейдите в папку Release-iphoneos и возьмите приложение внутрь, перетащите на значок iTunes. Когда вы синхронизируете ваше устройство iTouch, оно скопирует его на ваше устройство. Он также будет отображаться в iTunes как приложение для iPhone.

Надеюсь, это поможет!

PS: если он говорит о том, что сертификат недействителен, просто нажмите на проект в Xcode, маленький значок проекта в стеке файлов слева и нажмите Apple + I или выполните команду «Получить информацию» из строки меню. , Нажмите на Build наверху. В разделе «Подписывание кода» измените Идентификацию подписи кода - любое устройство iPhone OS должно быть не подписанным.

Это действительно все зависит от того, какую версию Xcode вы используете, поскольку разные версии используют разные методы для развертывания на вашем iPhone без профиля обеспечения.

Xcode 3.2.1 - хорошая версия, которую легко разобрать, но нам нужно знать, какую версию вы используете.

Решение, опубликованное Cawas, прекрасно работает и с XCode4. Однако в пользовательском интерфейсе IDE есть некоторые изменения, поэтому вам нужно провести некоторое исследование, чтобы найти Run Script:)

В представлении Project Navigator щелкните корневой элемент проекта, затем в среднем окне выберите Target, затем перейдите на вкладку Build Phases и в нижней части вы увидите кнопку Add Build Phase, нажмите и выберите Add Run Script, затем вставить " кодовый знак " Сценарий опубликован Cawas.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top