Запуск приложения на iPhone без сертификата (Xcode 4.2)

Уроки по созданию приложений для iOS (iPhone, iPad, iPod Touch) в Xcode (Objective-C)
Ответить
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Запуск приложения на iPhone без сертификата (Xcode 4.2)

Сообщение Александр »

Запуск приложения на iPhone, iPod, iPad без сертификата (Xcode 4.2)

Здесь я опишу способ, с помощью которого мне удалось запустить своё приложение на iOS устройстве, при разработке приложения в Xcode 4.2, операционная система Mac OSX Lion, прошивка устройства 4.3.1. Устройство должно быть с jailbreak и установленным AppSync.
Я не производил больших изменений в программных файлах Xcode и не создавал сертификатов.

В конце сообщения есть видеоинструкция.


1. Запускаем Finder

Переходим в папку /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/

Изображение


2. Копируем файл "SDKSettings.plist" на рабочий стол.

На всякий случай сделайте копию этого файла.
Откроем файл на рабочем столе и изменим в DefaultProperties - CODE_SIGNING_REQUIRED "YES" на "NO".

Изображение


3. Обновляем файл SDKSettings.plist

Измененный файл SDKSettings.plist копируем в каталог /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
Соглашаемся на перезапись этого файла.

Действия с копированием файла на рабочий стол из папки Xcode необходимо из-за того что Mac OS запрещает редактировать файлы в каталоге Xcode.


4. Запускаем Xcode

Важно чтобы Xcode был запущен снова после обновления файла SDKSettings.plist.
При необходимости перезапустите Xcode.


5. Создаём проект, например, Single View Application

Изображение

Как-то называем проект и сохраняем в удобную для вас директорию.

Изображение


6. Изменяем настройки проекта

На вкладке Build Settings изменяем Code Signing
Вместо iPhone Developer выбираем Don`t Code Sign.

Изображение

Прошивка моего устройства 4.3, поэтому я дополнительно изменяю параметр iOS Deployment Target с iOS 5 на iOS 4.3.

Изображение


7. Подключаем устройство в компьютеру

Выбираем iOS Device.
У меня это iPod Aleksandr.
Нажимаем Run.
Изображение

Приложение скомпилируется, устройство издаст звук и на экране появится новое приложение.
При этом Xcode может выдать ошибку «Error Starting Executable "Run"».
Error launching remote program: failed to get the task for process 244.

Изображение

Причем это не всегда будет 244.
Приложение всё равно можно будет запустить на устройстве.

Если приложение не запустится сразу, то нажмите кнопку Home и запустите приложение снова прямо с устройства.

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

czjiyomo
Сообщения: 2
Зарегистрирован: 14 апр 2012, 14:35

Re: Запуск приложения на iPhone без сертификата (Xcode 4.2)

Сообщение czjiyomo »

Спасибо, отличная инструкция.
К сожалению, возникла проблема -
приложение не запускается на девайсе, пишет иногда "failed to send the qLaunchSuccess packet", иногда как написано выше "failed to get the task for process ...", пока не вылечил, ответов не видно в гугле. Может кто-то сталкивался? Пробовал синхронизировать приложение через itunes - то же самое. Пробовал генерить сертификат, там другие проблемы.

Xcode 4.3.2, iOS 5.1
czjiyomo
Сообщения: 2
Зарегистрирован: 14 апр 2012, 14:35

Re: Запуск приложения на iPhone без сертификата (Xcode 4.2)

Сообщение czjiyomo »

Удалось запустить приложение, создав сертификат.
1. Во-первых, надо войти в DFU mode.
2. Создать сертификат - как описано, например, вот здесь - http://stackoverflow.com/questions/6741 ... er-package .
1. Go to Keychain Access, select "Create a Certificate" from the Keychain menu. 2. Name: iPhone Developer Certificate Type: Code Signing Let Me Override Defaults: Yes Click continue. 3. Validity: 3650 days. Click continue. 4. Leave e-mail field empty, and click continue repeatedly until done. Keychain Access will tell you that the certificate is not trusted, this is fine. – Mahnax Jul 19 '11 at 3:27
(cont'd) 5. Open Terminal and enter the following: sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist 6. In Xcode 4, beside the "Run" and "Stop" buttons, choose your device to run the app on. Done. – Mahnax Jul 19 '11

3. XCode должен спросить разрешить ли исопльзовать данный сертификат, и далее все как описано выше.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Запуск приложения на iPhone без сертификата (Xcode 4.2)

Сообщение Александр »

czjiyomo
Возможно способ не работает в версиях Xcode отличных от 4.2. А может быть дело и в прошивке устройства iOS 5.1.

Я специально использовал этот способ, потому что он не требует создания сертификатов и больших изменений в файлах, и в случае перехода на официальный сертификат не возникнут лишние проблемы.
Но видимо этот способ может не работать при других условиях.
Спасибо за описание другого способа.
Ответить