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

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

Ответ 1

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

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

Ответ 2

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

Обновление январь 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 для знака кода и прав (я люблю sed !):

    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

Ответ 3

Бесплатная инициализация после Xcode 7

Чтобы протестировать свое приложение на реальном устройстве, а не платить Apple Developer (или сделать джейлбрейк своего устройства), вы можете использовать новую бесплатную инициализацию, поддерживаемую 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, нажмите кнопку Build and run.

enter image description here

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

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

enter image description here

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

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

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

Ответ 4

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

Ответ 5

Вам нужно будет сделать джейлбрейк на вашем устройстве.

Ответ 6

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

Ответ 7

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

Ответ 8

Я прошёл прошлый вечер через Apple Developer, и там, в сертификате Provisioning, я нашел что-то вроде "Signing Team Members". Я думаю, что есть способ добавить членов команды в платный профиль. Вы можете просто попросить владельца идентификатора приложения (заплаченного) добавить вас в качестве члена команды. Я не уверен. Продолжаем поиск по этому вопросу.

Ответ 9

Нет, это легко сделать. В Xcode установите Active Configuration для выпуска. Измените устройство с Simulator на устройство - независимо от SDK. Если вы хотите напрямую экспортировать свой iPhone, подключите его к компьютеру. Нажмите "Сборка и переход". Если ваш iPhone не подключен к вашему компьютеру, появится сообщение о том, что ваш iPhone не подключен.

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

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

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

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

Ответ 10

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

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

Ответ 11

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

В представлении "Навигатор проекта" щелкните корневой элемент проекта, затем в среднем окне выберите "Цель", затем нажмите "Сборка фаз", а внизу вы увидите кнопку "Добавить этап сборки", щелкните и выберите "Добавить запуск" Script, затем вставьте "codeign" Script, отправленный Cawas.

Ответ 12

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

Ответ 13

Что если нам нужно сгенерировать ipa и разослать тестерам? как обойтись без яблочной учетной записи разработчика?