Что же нужно для того, чтоб установить свою свеженаписанную программку на реальный девайт?
Во-первых нужно создать сертификат разработки:
- Открываем Служебные программы > Связка Ключей
- Из меню Связки ключей откройте Ассистент Сертификации > Создать сертификат
- Впишите имя сертификата. Я написал "iPhone Developer"
- Из выпадающего меню выберите "Самоподписанный корневой сертификат" и поставьте галочку "Позволить мне изменять значения по умолчанию"
- Впишите серийный номер сертификата (любой уникальный номер). Также, установите Тип сертификата - "Код-подпись"
- Заполните поля о себе
- На всех следующих формах принимайте значения по умолчанию
- Перезапустите Xcode и в свойствах проекта укажите только что созданный сертификат (Project > Edit Project Settings > Build > Code Singing > iPhone Developer)
Это лишь первая часть наших приготовлений.
- Далее открываем для редактирования файл: /Developer/Platforms/iPhoneOS.platform/Info.plist
- Находим в тексте выражение XCiPhoneOSCodeSignContext и заменяем его на XCCodeSignContext. Таких выражений должно быть два во всем тексте, в строке 46 и 79
- Сохраняем и перезапускаем Xcode
- Теперь необходимо скачать утилитку ldid на ваш Мак в папку /usr/local/bin. Так же на этот файл нужно дать разрешение на запуск execute (выбрать Свойства из контекстного меню файла и там в самом низу поставить все галочки)
- Откройте для редактирования файл /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/iPhoneCodeSign.xcspec
- В райене 12 строки нужно заменить CommandLine = "/usr/bin/codesign" на CommandLine = "/usr/local/bin/ldid"
- Сохраните файл и перезагрузите Xcode
Ну вот вроди бы и все. Если вы обновите себе iPhone SDK то все эти действия необходимо будет повторить.
Теперь необходимо выбрать компиляцию проекта для девайса:
ВПЕРЕД!!! компилируем приложение, оно инсталируется в наш айФончик. После этого пытается запуститься дебагинг в Xcode но нам это уже не нужно, ведь мы только что записали на iPhone нашу первую программу. Весь мир у наших ног...
Если у вас все получилось и вы скомпилировали проект в айфон - то отпишитесь в комментариях, потому как уже у двух людей не получилось. Я конечно много колдовал пока и у меня вышло, но это вроди все что я делал.
К этим действиям я пришел почитав статью Запуск своего приложения на iPhone и Developing without Provisioning Profile
Как открыть файл /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/iPhoneCodeSign.xcspec
ОтветитьУдалитьда любым текстовым редактором, например Coda или Espresso. Если вы ищете этот файл пользуясь файндером, то дойдя до файла iPhoneOS Build System Support.xcplugin нужно из его контекстного меню выбрать Показать содержание пакета и тогда дальше по пути.
ОтветитьУдалитьСам пытаюсь начать с нуля))).Причем и мака у мня нет,разбираюсь под WMVare. Теперь когда пытаюсь скомпилировать икскод пишет usr/local/bin/idit No such as directory че это за фигня?Да кстати выставить права на запуск не могу в свойствах файла idit выставить , там только чтение и запись есть пункты?
ОтветитьУдалитьну на счет прав вот так должно быть http://bit.ly/c5vycj ну и еще раз проверь есть ли там этот файл ldid. А вобще, у меня небыло папки bin в /usr/local/ и я закинул такой же файл в папку /usr/bin/ и в файле iPhoneCodeSign.xcspec прописал уже путь /usr/bin/ldid Попробуй сделать так же
ОтветитьУдалитьда вот херня ничего не получаеться не знаю даж че делать картинка у мня совершенно другая и выставить права на execute я не можу.
ОтветитьУдалитьОткуда ты этот idit взял может выложишь уже execute версию а то он у мня выглядит как текстовой файл с кракозябрами(((Я уже в отчаянии
ОтветитьУдалитьОткрой терминал, введи там команду: sudo chmod 755 /usr/bin/ldid
ОтветитьУдалитьЭтим ты выставишь нужные права. Ну вот на всякий случай ссылка на мой файл http://dl.dropbox.com/u/298332/trash/ldid
Да не видимо под виртуалкой не катит ибо все эти действия я уже проделывал,жаль придеться симулятором довольствоваться((( Ну другим будет наука)))Лучше скажи если знаешь какие нибудь уроки в фотошопе по созданию меню. Ты язык то знаешь или как я ?Чево то понятно а чего то ну ваще не допереть)))
ОтветитьУдалитьЗначит у тебя так и говорит мол файла такого не найдено? Или уже что-то другое пишет? Не думаю, что разница какая-то есть под виртуалькой система или нет.
ОтветитьУдалитьА язык я не знаю вобще, ну знаком с синтаксисом С++ (немного), но тут мне только гугл помогает. Не могу найти на русском литературы нормальной, а на английском читаю медленно. Приходится по кусочкам учить. Но уже доделываю свои часы, скоро напишу обзор и может даже попробую в AppStore закинуть их через издателя
а про фотошом я не понял, ты про уроки как рисовать менюшки для своих программ? Ну так тут есть интерфейс билдер, можно большинство меню построить из страндартных вещей.
ОтветитьУдалитьУ мня к тебе просьба.Ты как только там выложишь программульку свою скинь мне исходник я просто хочу на примере разобраться чево там происходит)))Попробовал глянуть исходник игрушки ,безперспективняк слишком там все накручено не разобраться.
ОтветитьУдалитьДа на русском я тож ничего не нашел сам такой все по англицки))))
Да по поводу файла по ссылке выдает какие то кракозябры в браузере)да и хрен сним.
ОтветитьУдалитьДа файл у меня точно такой же как и тот, что выше я давал ссылку в посте. Кстати, можно же писать под iPhone на Adobe Flash CS5. Как по мне, так ActionSript намного проще чем Objective-C. http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/
ОтветитьУдалитьА на счет исходника то я наверное тут опишу вобще весь пусть создания часов.
This provisioning profile does not have a valid signature (or it has a valid, but untrusted signature).
ОтветитьУдалитьи это после всех мучений(( что не так то?
ОтветитьУдалитьэту ошибку пишет когда пытаешься скомпилить приложение на девайс?
ОтветитьУдалитьпопробуй еще такое:
ОтветитьУдалитьоткрой файл /Developer/Platforms/iPhoneOS.platform/Info.plist
в ветке defaultProperties отредактируй там строки (или добавь) , чтоб было вот так
PROVISIONING_PROFILE_ALLOWED = NO;
PROVISIONING_PROFILE_REQUIRED = NO;
По идее теперь твоя программа будет компилироваться, но не будет сама записываться на айФон, нужно будет ее ручками туда записывать.
Я этот способ еще не пробовал, но люди пишут, что работает
а вобще, в ЖЖ сообщесте ru_mac можно попросить кого-то, чтоб добавили твой UUID к их девелоперскому и сможешь тестировать все без проблем. Один человек предлагал мне за 200р это сделать, но может кто-то и бесплатно согласится, хотя 200р это ж не деньги для такого дела :)
ОтветитьУдалитьКстати, насчет "можно же писать под iPhone на Adobe Flash CS5" у меня такой вопрос.
ОтветитьУдалитьПри компиляции он вс равно просит сертификаты, как в таком случае быть бедным начинающим девелоперам?) Может их можно сгенерировать или скачать где-то, ведь adobe не будет проверять их подлинность...
А все, ведь уже Apple запретила разработку приложений в сторонней среде разработки такой как Adobe Flash CS5. Я сейчас на пути тестирования самого дешевого пути попадания в аппстор. Это через сторонних посредников, таких как appdev.ru
ОтветитьУдалитьЕсли указать старый codesign, а не ldid, то все почти работает, за исключением отладки:
ОтветитьУдалить"Error from Debugger: Error Launching remote program: failed to get the task for process 1581"
Иначе если, указываем "ldid", то получаю: "dyld: unknown required load command 0x80000022".
XCode 3.2.2 полет нормальный. Спасибо за мануал.
ОтветитьУдалитьВсе отлично работает, кроме отладки. Её вообще реально запустить прям на девайсе?
ОтветитьУдалитьВсе разобрался. Спасибо автору за мануал. Если кому что не понятно, можете заглянуть сюда http://azacode.wordpress.com/2010/06/06/debug-iphone-apps-on-jailbroken-iphone-3g-with-xcode-3-2-2-another-safe-keeping/ .
ОтветитьУдалитьРад, что вам это помогло
УдалитьПодскажите начинающему
ОтветитьУдалитьЗахотелось мне научится программировать под iOS.
iPhone у меня уже год, вот купил Macbook.
Поставил xcode, попробовал написать какую-то чепуху - в эмуляторе работает. Стало интересно попробовать на реальнов девайсе.
Покупать сертификат разработчика в Эпл еще считаю рано.
В Интернет полно описаний как сделать это самому:
создать сертификат, изменить пару файлов настройки, заменить /usr/bin/codesign на /usr/bin/ldid
вроде все сделал по инструкции, но все равно ругается и на iPhone ничего не записывает.
телефон не взломанный и не хочу с ним ничего делать.
может быть в этом дело?
Xcode 4.5.2, ios6.
ОтветитьУдалитьВ info.plist XCiPhoneOSCodeSignContext встречается 1 раз. После изменения этого файла и перезапуска xcode iPhone SDK больше не видна. И проблему эту можно решить только переустановкой xcode.
всем привет! Эта статья еще актуальна?
ОтветитьУдалитья наткнулся во второй части в первом пункте, что в папке девелопер просто нет папки платформс.
и ничего подобного также не вижу