Swift Package の new file でファイル名が聞かれない

Xcode Header Template for Swift Packages | @samwizeXcode Header Template for Swift Packages | @samwize を参考にする

これだけだと、ヘッダーの変更ができないので、ヘッダーについては Swift Package の header template をカスタムする を参照。

  1. ~/Library/Developer/Xcode/Templates/File Templates/Source/${テンプレート名}.xctemplate/ ディレクトリを作る
  2. xctemplate ディレクトリの中に、いかの 2 つを作る
    1. ___FILEBASENAME___.swift
    2. TemplateInfo.plist
    3. それぞれの中身は以下の通り
//___FILEHEADER___

import Foundation
<?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>SupportsSwiftPackage</key>
	<true/>
	<key>Kind</key>
	<string>Xcode.IDEFoundation.TextSubstitutionFileTemplateKind</string>
	<key>Description</key>
	<string>An empty Swift file.</string>
	<key>Summary</key>
	<string>An empty Swift file</string>
	<key>SortOrder</key>
	<string>1</string>
	<key>Image</key>
	<dict>
		<key>FileTypeIcon</key>
		<string>swift</string>
	</dict>
	<key>AllowedTypes</key>
	<array>
		<string>public.swift-source</string>
	</array>
    <key>Platforms</key>
    <array />
	<key>DefaultCompletionName</key>
	<string>File</string>
	<key>MainTemplateFile</key>
	<string>___FILEBASENAME___.swift</string>
	<key>Options</key>
	<array>
		<dict>
			<key>Identifier</key>
			<string>productName</string>
			<key>Required</key>
			<true/>
			<key>Name</key>
			<string>Name:</string>
			<key>Description</key>
			<string>The name of the file to create</string>
			<key>Type</key>
			<string>text</string>
			<key>NotPersisted</key>
			<true/>
		</dict>
	</array>
</dict>
</plist>

実装例

Xcode Swift Package Manager