В Xcode 9, когда вы создаете группу, она также создает связанную папку в файловой системе.Таким образом, вам не нужно создавать папки для каждой группы вручную.Хорошее объяснение об изменениях, связанных с группами и папками в Xcode 9, , см. Здесь .
У меня есть собственный шаблон проекта Xcode, который генерирует проект и добавляет загруженные исходные файлы Swift в стандартныйпапки.Моя проблема в том, что я могу создавать только групповые папки, например:
, представляющий группу, не связанную с каталогом файловой системы.Это не хорошо, потому что если вы позже переименуете папку в XCode, это не повлияет на соответствующий каталог файловой системы.
Моя цель - написать шаблон проекта XCode, который добавит мои собственные шаблоны swift-файлов в реальную ссылкутакие папки:
.
Вы можете скачать мой упрощенный шаблон из здесь , поместить его в: ~ / Library / Developer / Xcode / Templates
Затем Xcode> Файл> Создать> Проект ивыберите Custom-Template.
TemplateInfo.plist:
<?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>Kind</key>
<string>Xcode.Xcode3.ProjectTemplateUnitKind</string>
<key>Concrete</key>
<true/>
<key>Identifier</key>
<string>custom-swift.xcodeTemplate</string>
<key>Description</key>
<string>Swift starter project for iOS projects</string>
<key>Ancestors</key>
<array>
<string>com.apple.dt.unit.cocoaTouchFramework</string>
</array>
<key>Nodes</key>
<array>
<string>Classes/Interfaces/CustomInterface.swift</string>
</array>
<key>Definitions</key>
<dict>
<key>Classes/Interfaces/CustomInterface.swift</key>
<dict>
<key>Group</key>
<array>
<string>Classes</string>
<string>Interfaces</string>
</array>
<key>Path</key>
<string>Classes/Interfaces/CustomInterface.swift</string>
</dict>
</dict>
</dict>
</plist>
Создает проект, подобный этому:
![enter image description here](https://i.stack.imgur.com/7MW93.jpg)
Чего бы я хотел достичь:
![enter image description here](https://i.stack.imgur.com/v9HP5.jpg)
Любая помощь очень ценится!:)
Обновление 1:
Я нашел небольшой обходной путь. Создайте собственную сложную иерархию папок с помощью скрипта шаблона, затем просто удалите корневую папку - в моем случае«Классы».Затем откройте корзину и перетащите ее обратно в Xcode, выберите «Копировать элементы при необходимости» и выберите «Создать группы».Он создаст структуру папок с реальными ссылочными папками.