Как я могу развернуть приложение iPhone из Xcode на реальном устройстве iPhone, не имея сертификата Apple за 99 долларов США?
Как я могу развернуть приложение iPhone из Xcode на реальном устройстве iPhone, не имея сертификата Apple за 99 долларов США?
Ответы:
Похоже, приложение не подписано. Загрузите ldid с Cydia, а затем используйте его так:ldid -S /Applications/AccelerometerGraph.app/AccelerometerGraph
Также убедитесь, что бинарный файл помечен как исполняемый: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
Я использовал сочетание двух HOWTOs: Джейсон и Алекса . Со вторым у нас есть преимущество возможности отладки. Я в основном просто скопирую оба ниже (и упросту Алекс):
Обновление январь 2012: это все еще работает на SDK 4.2.1 и iOS 5.0.1 - я только что проверил все это на новом компьютере и устройстве!
Обновите свой iPhone SDK, чтобы разрешить использование этого сертификата:
Запустите Keychain Access.app. Если элементы не выбраны, в меню «Связка ключей» выберите «Ассистент сертификатов», затем «Создать сертификат».
Нажмите Продолжить
Нажмите Продолжить
Blank вне на Email поле адреса.
Нажмите Продолжить до завершения .
Вы должны увидеть «Этот корневой сертификат не является доверенным» . Это ожидается.
Настройте iPhone SDK, чтобы разрешить использование самозаверяющего сертификата:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Если у вас открыт Xcode, перезапустите его, чтобы изменения вступили в силу.
И если вы на iOS 5, это все! Попробуй это сейчас! Это может не позволить отладку, но приложение будет там!
Я был очень удивлен этим, потому что, как вы должны знать , я понятия не имею, о чем все эти взломы! Все, что я сделал, немного улучшило то, что я нашел в другом месте, как я указал.
Так что да, весь метод больше не работает так же, и я не мог найти новый ... За исключением этого, который использует инструмент под названием Theos, но я не смог пройти весь процесс.
Наконец, если вам нужно удалить его по какой-либо причине, проверьте конец этого поста. В моем случае мне пришлось это сделать, потому что я не мог понять, почему весь этот метод перестал работать, и мне было все равно, так как мы уже получили долгожданную лицензию. (Сумасшедший номер DUNS занимает так много времени ...)
,
,
,
,
,
На свой взломанный iPhone установите приложение AppSync , добавив источник ** http://repo.hackyouriphone.org **
Удалите требования SDK для знака кода и прав (я люблю sed !):
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
Обратите внимание на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
Завершите требование удаления через исправление 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, перезапустите его, чтобы изменения (и последние) вступили в силу.
Откройте «Проект> Изменить настройки проекта» (из меню). Нажмите на вкладку «Сборка» . Найдите «Идентификатор подписи кода» и его дочернее «Любое устройство iPhoneOS» в списке и задайте для обеих записей «Не подписывать код» :
После этого не стесняйтесь отменить шаг 3. По крайней мере, в моем случае все прошло хорошо.
Настройка 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
The identity used to sign the executable is no longer valid. ... (0xE8008018)
даже когда я ставлю 3650 дней, чтобы истечь. Кажется, что сам телефон делает проверку.
Чтобы протестировать свое приложение на реальном устройстве, а не платить Apple Developer (или сделать джейлбрейк своего устройства), вы можете использовать новую бесплатную инициализацию, поддерживаемую Xcode 7 и iOS 9.
Вот шаги, предпринятые более или менее из документации (что очень хорошо, так что прочитайте ее):
1. Добавьте свой Apple ID в Xcode
Перейдите в XCode> «Настройки»> «Аккаунты»> «Добавить» (+)> Добавить Apple ID. Смотрите документы для получения дополнительной помощи.
2. Откройте вкладку «Общие» в Навигаторе проекта.
3. Выберите свой Apple ID из всплывающего меню «Команда».
4. Подключите свое устройство и выберите его в меню схемы.
5. Нажмите кнопку Исправить проблемы
Если вы получили ошибку о том, что имя пакета неверно, измените его на что-то уникальное.
6. Запустите ваше приложение
В Xcode, нажмите кнопку Build and run.
7. Доверьтесь разработчику приложения в настройках устройства
После запуска приложения вы получите ошибку безопасности, потому что приложение, которое вы хотите запустить, не из App Store.
На устройстве перейдите в «Настройки»> «Основные»> «Профиль»> « ваше-Apple-ID-имя» > «Доверяйте своему-Apple-ID-имени» > «Доверять».
8. Запустите приложение на своем устройстве снова.
Вот и все. Теперь вы можете запускать свои собственные (или любые другие приложения, для которых у вас есть исходный код) без необходимости тратить 99 долларов. Спасибо, Apple, за то, что наконец позволил это.
Вам придется сделать джейлбрейк вашего устройства.
Существует способ развертывания приложений iPhone без оплаты Apple. Вам придется сделать джейлбрейк устройства и следовать инструкциям, приведенным в http://www.alexwhittemore.com/?p=398.
Ничто из того, что я видел, не указывает на то, что вы можете выполнить специальное развертывание на реальном iPhone без (платного) сертификата.
Вчера вечером я проходил через Apple Developer и там в сертификате обеспечения я обнаружил что-то вроде - «Подписание членов команды». Я думаю, что есть способ добавить членов команды в платный профиль. Вы можете просто попросить владельца идентификатора приложения (платного) добавить вас в качестве члена команды. Я не уверена. Все еще ищу это.
Нет, это легко сделать. В XCode установите Активную Конфигурацию к Выпуску. Измените устройство с Симулятора на Устройство - независимо от SDK. Если вы хотите напрямую экспортировать на свой iPhone, подключите его к компьютеру. Нажмите Build и Go. Если ваш iPhone не подключен к компьютеру, появится сообщение о том, что ваш iPhone не подключен.
Если это относится к вам: (iPhone не был подключен)
Перейдите в папку ваших проектов, а затем в папку сборки внутри. Перейдите в папку Release-iphoneos и возьмите приложение внутрь, перетащите на значок iTunes. Когда вы синхронизируете ваше устройство iTouch, оно скопирует его на ваше устройство. Он также будет отображаться в iTunes как приложение для iPhone.
Надеюсь это поможет!
PS: Если он говорит что-то о том, что сертификат недействителен, просто нажмите на проект в Xcode, маленький значок проекта в стеке файлов слева и нажмите Apple + I, или выполните Get Info из строки меню. Нажмите на 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, затем вставьте «codeign» "скрипт размещен Cawas.
Обходного пути нет. Развернуть приложения можно только в том случае, если они зарегистрированы на вашем устройстве. Это мешает вам создать свой собственный магазин приложений.