让我们自动化这项无聊的任务。

将模板复制到Xcode模板目录的脚本。

iOS或macOS项目上工作时,通常会一遍又一遍地创建具有相同结构的类,而手动进行则浪费时间,一种更好的解决方案是为这些文件创建Xcode文件模板。

如何为协调员创建自定义Xcode模板
Xcode附带了一些默认的项目模板,尽管它们可能很好地作为示例代码,但是它们可以工作…… www.hackingwithswift.com

考虑您已经创建了一个Xcode模板,并希望与团队中的其他人共享。 当Xcode从~/Library/Developer/Xcode/Templates加载模板时,现在您的所有队友都必须手动将模板文件复制到该目录,这是一项无聊且耗时的任务,这是使其自动化的好兆头。

我们开始做吧。

您可以使用下面的shell脚本来执行此操作,所有要做的就是将脚本复制到.xctemplate所在的目录中,例如此处(https://github.com/syrjs/core/tree/develop/ios / Syr_tooling),然后运行sh copyToXcodeTemplate.sh

copyToXcodeTemplate.sh

它是如何工作的?

让我们逐行查看脚本。

  • 用于保存模板的本地Xcode模板目录路径的变量。
    XCODE_YOUR_TEMPLATE_DIR="$HOME'/Library/Develope/Xcode/Templates/File Templates/'
  • 一个变量,用于保存包含此脚本文件的目录路径,因为我们可以将此脚本文件与模板一起保存并共享。
    SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" && pwd )"

${}用作变量的引用。
$()充当命令的一种引用,但是它们在自己的上下文中运行。
dirname为您提供所提供参数的路径部分。
cd更改当前目录。
pwd更改当前目录。
&&是合乎逻辑的,但在此实例中使用它的原因是它一个接一个地运行命令的副作用。

  • 删除自定义模板目录(如果已存在),并在相同目录路径名上创建一个空目录。
 如果[-d“ $ XCODE_YOUR_TEMPLATE_DIR”]; 然后 
rm -R“ $ XCODE_YOUR_TEMPLATE_DIR”
科幻
mkdir -p“ $ XCODE_YOUR_TEMPLATE_DIR”

[ - d "FILE"] 如果FILE存在并且是目录,则返回True。
rm -R r删除植根于每个文件参数中的文件层次结构。

  • 最后,将.xctemplate文件复制到本地Xcode模板目录XCODE_YOUR_TEMPLATE_DIR

cp -R $SCRIPT_DIR/*.xctemplate "$XCODE_YOUR_TEMPLATE_DIR"

cp -R复制目录和此时连接的整个子树。

资源:

  • https://www.ostricher.com/2014/10/the-right-way-to-get-the-directory-of-a-bash-script/
  • http://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html
  • http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html#sect_07_01_02
  • https://stackoverflow.com/questions/39340169/dir-cd-dirname-bash-source0-pwd-how-does-that-work

如果您喜欢阅读本文,请不要忘记掌声。 👏
谢谢。