将SwiftGen 6.1.0用于多个目录中的多个资产

时间:2019-02-28 14:54:33

标签: ios swift assets swiftgen

我有一个非常大的项目,其中包含多个模块。我在每个模块中使用单独的Assets.xcassets。是否可以将通用.yml声明用于使用图像? 现在,我的.yml如下所示:

xcassets:
inputs: 
    - /Assets.xcassets

outputs:
    - templateName: swift4
    output: /UIImage+Assets.swift

但是我在尝试建立项目时遇到了问题:

[31mMissing entry for key xcassets.paths.[0m
Command /bin/sh failed with exit code 1

我需要通过一种方案为不同模块中的通用创建正确的.yml。

1 个答案:

答案 0 :(得分:0)

好的,谷歌,感谢您的回答=)

FILENAMES = "assetPaths.txt"
EXTENSION = ".xcassets"

find . -name *$EXTENSION -print > $FILENAMES

while read assetsPath; do
if [[ $assetsPath != *"Pods"* ]]; then

dir = `dirname "$assetsPath"`
fileName = `basename "$assetsPath" "$EXTENSION"`
outputFile = $dir"/"$fileName".swift"
swiftgen xcassets "$assetsPath" -t swift4 --output "$outputFile"

fi
done < $FILENAMES

rm $FILENAMES

工作正常!