Сегодня меня достало заниматься рутинным действием на работе - нередко после изменения/добавления хотя бы одной строчки кода приходится пересобирать добрый десяток статических либ, которые зависят от этого исходника. Этот процесс можно автоматизировать.
В Мac OS в командной строке (в терминале) всё делается примерно также, как и в любой Unix-подобной системе.
Чтобы оставаться в терминале, можно даже и не открывать текстовый отдельный редактор, потому что есть встроенные редактор vi (или vim, насколько я знаю, этот редактор очень любят старые Linux-хакеры). Справку по этому редактору можно найти во многих статьях и учебниках (посвящённых Unix/Linux).
В самом верху вашего скрипта (текстового файла, содержащего все необходимые команды для выполнения) введите:
#!/bin/bash
Для того, чтобы добавить в скрипт команду для сборки (компиляции и линковки) Xcode-проекта, добавьте строку (вместо myProject.xcodeproj нужно указать правильный путь к файлу проекта):
xcodebuild -project myProject.xcodeproj -target targetname
(насчёт аргумента, который нужно ввести вместо targetname можно выяснять набрав команду
man xcodebuild
Можно заранее сделать все настройки, открыв проект в среде разработки Xcode (и поставив все необходимые опции, используя графический интерфейс). А потом уже написать в скрипте:
xcodebuild -project myProject.xcodeproj -activetarget
При выполнении этой команды всё будет компилироваться и линковаться точно также, как если бы вы снова открыли ваш проект в среде разработки и нажали на кнопочку "Build".
После того, как напишите и сохраните ваш скрипт (из команд для сборки нескольких проектов), обязательно позвольте ему стать исполняемым файлом, выполнив в терминале команду (при условии, что вместо scriptFileName указан правильный путь к файлу):
chmod +x scriptFileName
Если после компиляции+линковки (т.е. после сборки бинарника) вы видите, что дата создания бинарного файла стоит старая, то это лишь из-за того, что в исходниках или настройках проекта ничего не изменялось со времени прошлой сборки бинарника.
Ну вот собственно и всё.
Показаны сообщения с ярлыком xcodeproj. Показать все сообщения
Показаны сообщения с ярлыком xcodeproj. Показать все сообщения
вторник, 27 апреля 2010 г.
Переименование Xcode-проекта и приложения (для iPhone)
Можно легко переименовывать основной контейнер проекта (который в Windows/Unix выглядит как обычная папка, а в Finder из Mac OS выглядит внешне как файл с расширением *.xcodeproj) - обычно это не вызывает никаких проблем.
Это может пригодиться, если вы делаете в Xcode приложение или библиотеку для Mac OS и для iPhone, используя общие исходные файлы. В таком случае достаточно сделать копию *.xcodeproj-контейнера и дать ему другое имя.
Несколько иначе обстоит дело при попытке изменить имя приложения для iPhone, т.е. название программы, как оно отображается в списке приложений на экране iPhone. Сейчас в новой версии iPhoneSDK в меню Xcode есть возможность переименовать проект (и вероятно название программы) - но я пока не исследовал эту возможность.
Далее я расскажу про старый способ переименовать проект, который я уже проверил несколько раз (об этом я узнал из зарубежных источников).
Скопируйте папку всего проекта (не только вышеупомянутый контейнер с расширением *.xcodeproj, но и все исходники с ресурсами) в надёжное место — вдруг что-то получится не так, как вы хотели. Вообще, полезно всегда делать копии всех важных файлов как можно чаще (или использовать систему контроля версий).
Войдите в ту папку, в которой вы будете переименовывать проект. Давайте будем считать для примера, что мы хотим переименовать AppleSample в MyCoolApp.
1) Переименуйте AppleSample.xcodeproj в MyCoolApp.xcodeproj.
2) Переименуйте AppleSample_Prefix.pch в MyCoolApp_Prefix.pch
3) Удалите папку build folder (используя Finder).
4) Откройте.xcodeproj как контейнер-папку (используя контекстное меню, например нажав на правую кнопку мыши, в зависимости от настроек Mac OS). В этой папке есть несколько файлов (обычно 3 или 4). Их нужно будет редактировать в текстовом редакторе (желательно с подсветкой синтаксиса для вашего же удобства — можно открыть даже с помощью Xcode).
5) Откройте project.pbxproj как текст и переименуйте все встречающиеся строки со старым именем AppleSample на новое имя MyCoolApp. Лучше не используйте для этого операцию «Найти и заменить (find an replace)». Имейте ввиду, что если вы захотите изменить строки, содержащие AppleSampleAppDelegate.h и AppleSampleAppDelegate.m, то изменение этих строк вынудит вас переименовать файлы с этими именами физичеки (поменять имена на те, что вы укажете в строках вместо старых).
6) Откройте файл с расширением.pbxuser (имя этого файла содержит ваше системное имя пользователя). Повторите все предыдущие шаги по редактированию строк.
7) Откройте все xib-файлы (их ещё принято называть nib-файлами) как текстовые или source файлы и повторите все предыдущие шаги по редактированию строк (это особенно актуально, если вы осмелились переименовать исходники главного делегата приложения).
8) Попробуйте после всего этого открыть проект в Xcode, и сделайте Clean и Build.
Это может пригодиться, если вы делаете в Xcode приложение или библиотеку для Mac OS и для iPhone, используя общие исходные файлы. В таком случае достаточно сделать копию *.xcodeproj-контейнера и дать ему другое имя.
Несколько иначе обстоит дело при попытке изменить имя приложения для iPhone, т.е. название программы, как оно отображается в списке приложений на экране iPhone. Сейчас в новой версии iPhoneSDK в меню Xcode есть возможность переименовать проект (и вероятно название программы) - но я пока не исследовал эту возможность.
Далее я расскажу про старый способ переименовать проект, который я уже проверил несколько раз (об этом я узнал из зарубежных источников).
Скопируйте папку всего проекта (не только вышеупомянутый контейнер с расширением *.xcodeproj, но и все исходники с ресурсами) в надёжное место — вдруг что-то получится не так, как вы хотели. Вообще, полезно всегда делать копии всех важных файлов как можно чаще (или использовать систему контроля версий).
Войдите в ту папку, в которой вы будете переименовывать проект. Давайте будем считать для примера, что мы хотим переименовать AppleSample в MyCoolApp.
1) Переименуйте AppleSample.xcodeproj в MyCoolApp.xcodeproj.
2) Переименуйте AppleSample_Prefix.pch в MyCoolApp_Prefix.pch
3) Удалите папку build folder (используя Finder).
4) Откройте.xcodeproj как контейнер-папку (используя контекстное меню, например нажав на правую кнопку мыши, в зависимости от настроек Mac OS). В этой папке есть несколько файлов (обычно 3 или 4). Их нужно будет редактировать в текстовом редакторе (желательно с подсветкой синтаксиса для вашего же удобства — можно открыть даже с помощью Xcode).
5) Откройте project.pbxproj как текст и переименуйте все встречающиеся строки со старым именем AppleSample на новое имя MyCoolApp. Лучше не используйте для этого операцию «Найти и заменить (find an replace)». Имейте ввиду, что если вы захотите изменить строки, содержащие AppleSampleAppDelegate.h и AppleSampleAppDelegate.m, то изменение этих строк вынудит вас переименовать файлы с этими именами физичеки (поменять имена на те, что вы укажете в строках вместо старых).
6) Откройте файл с расширением.pbxuser (имя этого файла содержит ваше системное имя пользователя). Повторите все предыдущие шаги по редактированию строк.
7) Откройте все xib-файлы (их ещё принято называть nib-файлами) как текстовые или source файлы и повторите все предыдущие шаги по редактированию строк (это особенно актуально, если вы осмелились переименовать исходники главного делегата приложения).
8) Попробуйте после всего этого открыть проект в Xcode, и сделайте Clean и Build.
Ярлыки:
переименовать,
приложение,
проект,
iphone,
project,
rename,
xcode,
xcodeproj
Подписаться на:
Сообщения (Atom)