Как изменить стандартный заголовок при создании файлов в Xcode?
https://t.me/iOS_Career
Вы когда-нибудь хотели изменить стандартный текст заголовка, который Xcode автоматически помещает в начало каждого нового исходного файла, который вы добавляете в проект?
Для этого можно использовать текстовый макрос FILEHEADER.
Создание файла
Создайте plist с названием IDETemplateMacros.plist.
Используйте File > New File... (⌘N) и выберите Property List из списка.
Добавьте запись в файл plist для макроса FILEHEADER с вашим форматом.
Пример такого файла (можно использовать как шаблон)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FILEHEADER</key>
<string>
// Created by Your Name on 30.08.22.
// Copyright © 2022 by iOS Dev. All rights reserved.
// </string>
</dict>
</plist>
Несколько примеров для изменения файла:
Пример создания даты и копирайта
Created ___DATE___ // ___COPYRIGHT___
Пример заголовка с именем проекта, годом и версией тулчейна
Created for ___PROJECTNAME___ in ___YEAR___ // Using Swift ___DEFAULTTOOLCHAINSWIFTVERSION___ // Running on macOS ___RUNNINGMACOSVERSION___
А список возможных опций можно посмотреть здесь: Справочник.
Перемещение файла и определение директории
Ниже перечислим основные опции для перемещения файла с нашим кастомным заголовком.
Для единственного проекта и пользователя
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
Для всех участников команды в одном проекте
<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist
Для всех проектов в воркспейсе и одного пользователя
<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
Для всех проектов в воркспейсе и всех участников команды
<WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist
Глобально для всего Xcode и для всех проектов
~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
А про разработку можно прочитать в моём авторском канале.
