设置

设置

我在 Mac 上尝试从我们的 Xcode 构建中编写一些脚本。您可以dSYM使用某些目录进行检查Show package contents。在 Xcode 构建后运行的脚本中,我尝试将 dSYM 复制到输出目录。

我的命令是这样的:

cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM" "${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"

扩展后基本上看起来像

cp -vR "${BUILD_PATH}/${ANOTHER_FOLDER}/MyFramework.framework.dSYM" "${OUTPUT_FOLDER}/MyFramework.framework.dSYM"

发生的情况是我将 dsym 文件夹复制到 dsym 文件夹中,因此它看起来像这样:

MyFramework.framework.dSYM/MyFramework.framework.dSYM

rm -rf在复制它之前我可以使用dSYM,但更好奇是否有另一种方法而不删除它以及我做错了什么。谢谢!

答案1

如果您不想复制 MyFramework.framework.dSYM 父文件夹,请调整命令cp以使其启动以下那个目录。为了匹配之前的行为,其中每一个dSYM 目录中的文件被复制,甚至是点文件,您必须告诉您的 shell 来拾取这些文件;对于 bash,它是与shopt -s dotglob.

cp命令是:

shopt -s dotglob
cp -vR "${BUILD_PATH}/${CONFIGURATION}-${DEVICE_TYPE}/${FRAMEWORK}.dSYM"/* \
       "${OUTPUT_FOLDER}/${FRAMEWORK}.dSYM"

我所做的只是附加/*到源路径的末尾。

示例运行:

设置

$ tree -a build_path/
build_path/
└── configuration-type
    └── framework.dSYM
        ├── a
        ├── .dotfile-here
        └── subdir
            └── b

3 directories, 3 files

执行

cp -vR build_path/configuration-type/framework.dSYM/* output_folder/MyFramework.framework.dSYM

结果

$ tree -a output_folder/
output_folder/
└── MyFramework.framework.dSYM
    ├── a
    ├── .dotfile-here
    └── subdir
        └── b

2 directories, 3 files

相关内容