Ответ 1
Я потратил несколько часов на поиск в Интернете, чтобы найти информацию об этом. На самом деле это не так сложно настроить шаблоны проектов для Xcode4.5, но трудно найти информацию в Интернете, которая объединяет все это! Надеемся, что приведенные ниже шаги помогут вам создать свой собственный.
Настройка
- Давайте начнем с получения копии существующего шаблона проекта Xcode для использования в качестве базы. Откройте finder, перейдите в приложение и щелкните правой кнопкой мыши по Xcode, чтобы показать содержимое пакета. Перейдите в раздел Содержание/Разработчик/Платформы/iPhoneOS.platform/Разработчик/Library/Xcode/Шаблоны/Шаблоны проектов/Приложение/
[EDIT] В Xcode 5 PATH выглядит следующим образом: ~/Library/Developer/Xcode/Templates/Application/Project Templates. Если Templates/Application/Project Templates не существует, вы должны создать его. Благодарим seufagner в комментариях ниже для обновления, хотя я не пробовал это сам. [/EDIT]
- Скопировать (не вырезать/вставлять!) один из перечисленных шаблонов.
- Откройте другое окно поиска и перейдите к следующему каталогу (чтобы отобразить папку вашей библиотеки, введите этот cmd в терминале: chflags nohidden ~/Library/или нажмите клавишу alt/option при нажатии Finder/Go)/Library/Developer/Xcode/Templates (вам может понадобиться создать эту папку, если она еще не указана)/Шаблоны проектов /
- Создайте папку здесь. Назовите это, как хотите, предложение - название вашей компании. Это имя появляется в меню левой руки нового диалога проекта в Xcode. например в прикрепленном изображении я назвал свой Appcore, там еще один для cocoas2d.
- Вставьте шаблон проекта здесь и измените его имя папки на все, что вы пожелаете, например. MySuperProjectTemplate.xctemplate. Мы еще не закончили, хотя нам нужно изменить идентификатор шаблона. В противном случае он не появится в диалоговом окне нового проекта Xcode.
- Откройте файл TemplateInfo.plist в TextEdit. Найдите ключ идентификатора. Вы должны увидеть строковое значение, похожее на "com.apple.dt.unit.XXXXXX". Заменяйте это на все, что пожелаете, пока оно уникально. Я снова предлагаю добавить название вашей компании и имя, которое описывает шаблон.
- Если вы теперь открываете Xcode, вы должны увидеть шаблон проекта, отображаемый под названием вашей компании в новом диалоге проекта.
Настройка
В настоящий момент у вас есть копия существующего шаблона проекта, который не очень полезен. Я предполагаю, что у вас есть несколько классов, которые используются повторно во всех ваших проектах? Как насчет того, чтобы включить их в этот шаблон?
- Скопируйте нужные файлы и вставьте их в новый шаблон проекта, то есть перейдите в/Library/Developer/Xcode/Templates/Шаблоны проектов //MySuperProjectTemplate.xctemplate/
-
Вновь откройте файл TemplateInfo.plist в TextEdit. Первое, что нам нужно сделать, - сообщить шаблону проекта о включении новых файлов, чтобы найти ключ с именем "Узлы", который имеет массив значений. Добавьте две следующие строки:
< строка > _VARIABLE_classPrefix: идентификатор _.h </строка > < & строка GT; _VARIABLE_classPrefix: идентификатор _.m </строка >
Например, если ваш контроллер был вызван BaseViewController, строки выглядели бы так:
< строка > ___ VARIABLE_classPrefix: идентификатор ___ BaseViewController.h </строка > < & строка GT; ___ VARIABLE_classPrefix: идентификатор ___ BaseViewController.m </строка >
- Затем найдите ключ Определения, и вы увидите словарь как его значение. Здесь мы должны добавить ссылку на включенные файлы. Создайте новый ключ и вызовите его ___ VARIABLE_classPrefix: идентификатор ___ BaseViewController.h(в качестве примера возьмем BaseViewController).
- Значение этого ключа снова является словарем. Он содержит ключ Path и строковое значение, которое является именем файла, например. BaseViewController.h
- Я приложил следующие изображения, чтобы показать, что я имею в виду, поскольку, по-моему, мое описание не подходит. Вы можете заметить, что есть ключ, называемый "Группа", это, как вы можете предположить, позволяет создавать группы и входные файлы напрямую: D
Надеюсь, что это действительно полезно кому-то:) Любые вопросы, комментарии ниже, и я сделаю все возможное, чтобы ответить. Я сделал это несколько недель назад, поэтому моя память немного туманна.