Я использовал смесь из двух Howto: Jason's и alex's . Со вторым у нас есть преимущество возможности отладки. Я в основном просто скопирую оба ниже (и упросту Алекс):
Обновление от января 2012 года: это все еще работает на SDK 4.2.1 и iOS 5.0.1 - я только что проверил все это на новом компьютере и устройстве!
1. Создать самоподписанный сертификат
Обновите свой iPhone SDK, чтобы разрешить использование этого сертификата:
Запустить связку ключей Access.app. Если элементы не выбраны, в меню «Связка ключей» выберите «Ассистент сертификатов», затем «Создать сертификат».
- Имя: Разработчик iPhone
- Тип сертификата: Кодовое обозначение
- Позвольте мне изменить настройки по умолчанию: Да
Нажмите Продолжить
Нажмите Продолжить
Пробел Электронная почта поле адреса.
Нажмите Продолжить до завершения .
Вы должны увидеть «Этот корневой сертификат не является доверенным» . Это ожидается.
Установите в iPhone SDK разрешение на использование самозаверяющего сертификата:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
Если у вас открыт Xcode, перезапустите его, чтобы изменения вступили в силу.
А если вы на iOS 5, то все! Попробуй это сейчас! Это может не разрешить отладку, но приложение будет там!
Я был очень удивлен этим, потому что, как вы должны знать , я понятия не имею, о чем все эти взломы! Все, что я сделал, немного улучшило то, что я нашел в другом месте, как я указал.
Так что да, весь метод больше не работает так же, и я не мог найти новый ... За исключением этого, который использует инструмент под названием Theos , но я не смог пройти весь процесс.
Наконец, если вам нужно удалить его по какой-либо причине, проверьте конец этого поста. В моем случае мне пришлось это сделать, потому что я не мог понять, почему весь этот метод перестал работать, и мне было все равно, так как мы уже получили долгожданную лицензию. (Сумасшедший номер DUNS занимает столько времени ...)
.
.
.
.
.
2. Разрешить Xcode для сборки на взломанном устройстве
На ваш взломанный 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, перезапустите его, чтобы изменения (и последние) вступили в силу.
Открыть «Проект> Редактировать настройки проекта» (из меню). Нажмите на вкладку "Build" .
Найдите «Идентификатор подписи кода» и его дочерний элемент «Любое устройство 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