Сегодня меня достало заниматься рутинным действием на работе - нередко после изменения/добавления хотя бы одной строчки кода приходится пересобирать добрый десяток статических либ, которые зависят от этого исходника. Этот процесс можно автоматизировать.
В М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
Если после компиляции+линковки (т.е. после сборки бинарника) вы видите, что дата создания бинарного файла стоит старая, то это лишь из-за того, что в исходниках или настройках проекта ничего не изменялось со времени прошлой сборки бинарника.
Ну вот собственно и всё.
вторник, 27 апреля 2010 г.
Как сделать скрипт для компиляции и линковки сразу нескольких Xcode-проектов
Ярлыки:
автоматизация,
компиляция,
проект,
bash,
iphone,
linux,
mac os,
man,
script,
terminal,
unix,
xcode,
xcode-проект,
xcodebuild,
xcodeproj
Подписаться на:
Комментарии к сообщению (Atom)
Постоянные читатели
Архив блога
-
▼
2010
(55)
-
▼
апреля
(28)
- Стив Джобс рассказал, почему Apple "не пускает" Fl...
- Работа с локальным SVN-репозитарием
- Как в Mac OS снять блокировку/защиту из всех файло...
- Как получить пути к наиболее часто используемым па...
- Как автоматически копировать нужные заголовки в ну...
- Чем заменить функцию stricmp в iPhone-проекте
- Легендарный редактор vi
- Как выяснить причину EXC_BAD_ACCESS в Xcode
- Что делать, если в Xcode-отладчике невозможно пере...
- Как изменить размер стека потока средствами pthrea...
- Интересные материалы для C++ программистов в блоге...
- Принципы Agile Software Development
- Знакомство с компилятором GCC
- Антипаттерны
- man xcodebuild (справка по команде)
- Как сделать скрипт для компиляции и линковки сразу...
- Какой аналог у SetEvent (Win32) в pthread?
- Pthread Condition Variables и Windows Events (Креа...
- Шпаргалка по TinyXML
- Мои любимые книги по программированию
- Из блога Сергея Меднова: Знает ли Apple, для чего ...
- Вопросы на проверку знания языка C++
- Использование pthread (POSIX) функций для многопот...
- Xcode — странные выходки отладчика
- Проблемы со статическими библиотеками при разработ...
- Переименование Xcode-проекта и приложения (для iPh...
- Как совмещать C++ и Objective C код в одном файле ...
- Как удалить badge-кружочки из TabBar вкладок
-
▼
апреля
(28)
Спасибо ! Это то что я искал!
ОтветитьУдалитьМожно не делать chmod, а просто запускать так:
$ sh scriptFileName.sh
и все :)