Как создать шаблон проекта в Xcode 4

его действительно трудно найти учебник, чтобы сделать это, поскольку большая часть информации относится к Xcode 3. Ответ ниже, может помочь некоторым людям.

Я нашел большую часть моей информации для ответа ниже со следующих сайтов:

4 ответов


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

Настройка

  1. давайте начнем с получения копии существующего шаблона проекта Xcode для использования в качестве базы. Откройте finder, перейдите к приложениям и щелкните правой кнопкой мыши на Xcode, чтобы показать содержимое упаковки. Перейдите к содержимому / разработчик / платформы / iPhoneOS.платформа / разработчик / библиотека/Xcode / шаблоны / шаблоны проектов / приложения/

[редактирование] В Xcode 5 путь выглядит следующим образом: ~/Library/Developer/Xcode/Templates/Application/Project Templates. Если шаблоны / шаблоны приложений/проектов не существуют, вы также должны создать его. Кредит seufagner в комментариях ниже, для обновления, хотя я не пробовал это себя. [/EDIT]

  1. скопировать (не вырезать/вставить!) один из перечисленных шаблонов.
  2. откройте другое окно finder и перейдите в следующий каталог (чтобы отобразить папку библиотеки введите этот cmd в терминале: chflags nohidden ~/Library / или выберите нажмите клавишу alt / option при нажатии на Finder / Go)/Library/Developer/Xcode /Templates (вам может потребоваться создать эту папку, если ее еще нет)/шаблоны проектов/
  3. создать папку в здесь. Называйте это как хотите, предложение-это название вашей компании. Это имя появляется в левом меню нового диалога проекта в Xcode. например, в прикрепленном изображении, которое я назвал моим Appscore, есть еще один для cocoas2d. enter image description here
  4. вставьте шаблон проекта здесь и измените его имя папки на то, что вы хотите, например MySuperProjectTemplate.xctemplate. Мы еще не закончили, хотя нам нужно изменить идентификатор шаблона. В противном случае он не появится в диалоговое окно новый проект Xcode.
  5. откройте TemplateInfo.plist файл в TextEdit. Поиск ключа идентификатора. Вы должны увидеть строковое значение, похожее на " com.яблоко.Второзаконие.блок.XXXXXX". Замените это на все, что пожелаете, пока это уникально. Я снова предлагаю добавить название вашей компании и имя, которое описывает шаблон.
  6. если вы теперь открываете Xcode, вы должны увидеть шаблон проекта, появляющийся под именем вашей компании в новом диалоге проекта.

настройка

на данный момент у вас есть копия существующего шаблона проекта, который не очень полезен. Я предполагаю, что у вас есть несколько классов, которые повторно используются почти во всех ваших проектах? Как насчет того, чтобы включить их в этот шаблон?

  1. скопируйте нужные файлы и вставьте их в новый шаблон проекта, т. е. перейдите в /Library / Developer/Xcode / Templates/Project Шаблоны / / MySuperProjectTemplate.xctemplate/
  2. откройте TemplateInfo.plist файл в TextEdit снова. Первое, что нам нужно сделать, это сказать шаблону проекта включить новые файлы, чтобы найти ключ под названием "узлы", который имеет массив значений. Добавьте две следующие строки:

    _VARIABLE_classPrefix: identifier_.h _VARIABLE_classPrefix: identifier_.m

например если бы ваш контроллер назывался BaseViewController, строки выглядели бы так:

_ _ _ VARIABLE_classPrefix: идентификатор _ _ _ BaseViewController.h _ _ _ переменная _ classPrefix: идентификатор _ _ _ BaseViewController.m

Step 2

  1. далее найдите ключ определения, и вы должны увидеть словарь в качестве его значения. Здесь мы должны добавить ссылку на файлы. Создайте новый ключ и назовите его ___VARIABLE_classPrefix: идентификатор _ _ _ BaseViewController.h (снова возьмем в качестве примера BaseViewController).

Step 3

  1. значение этого ключа снова является словарем. Он содержит ключ с именем Path и строковое значение, которое является именем файла, например BaseViewController.h
  2. я прикрепил следующие изображения, чтобы показать, что я имею в виду, поскольку я думаю, что мое описание не подходит. Вы можете заметить, что там есть ключ под названием " Group", это, как вы можете догадаться, позволяет создавать группы и входные файлы напрямую :Д

надеюсь, что это действительно полезно для кого-то :) любые вопросы комментарий ниже, и я сделаю все возможное, чтобы ответить. Я сделал это несколько недель назад, поэтому моя память немного туманно.


вы также можете многому научиться, проверяя существующие шаблоны проектов, которые вы можете найти в:

/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates/

на Mac и

/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/

на iOS.

есть несколько шаблонов образцов также на GitHub by Рид Главная и Acani. Есть также AFNetworking шаблоны, созданные Mattt Thompson В. Смотрите все примеры, в том числе построенных компанией Apple, а затем вы можете начать создавать свой собственный.


хороший обзор всех переменных, используемых в файле plist можно найти здесь: https://gist.github.com/shazron/943736


@bennythemink Ваш ответ действительно очень помогает, Но я хочу добавить еще несколько вещей в ваш ответ. Когда мы копируем шаблон Xcode predefine, чем этот ключ содержит

<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.storyboardApplication</string>
</array>

это значение. Когда мы используем это значение ключа в пользовательском шаблоне xcode, он по умолчанию создаст класс AppDelegate. Который мы не можем переместить в папку, только мы можем переместить его в группу. Поэтому я предлагаю добавить следующее:

<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.objectiveCApplication</string>
<string>com.apple.dt.unit.iPhoneBase</string>
<string>com.apple.dt.unit.prefixable</string>
</array>

значение в пользовательском шаблоне, так что мы будем иметь полностью пустой шаблон, в котором мы можем делать любые пользовательские вещи.