Mao*_*eli 7 xcode ios run-script dsym xcode10
在新功能部分,它指出:
- 在新的构建系统中,shell 脚本不能依赖未在其他构建阶段(例如,Info.plist 文件或 .dSYM 文件)中列出的构建工件的状态。添加脚本构建阶段依赖的文件作为显式输入对 shell 脚本构建阶段的依赖。(40852184)
在以前的 Xcode 中,脚本执行成功,但现在可以在 dSYM 文件大小为 0 时执行。
如何让运行脚本阶段仅在生成 dSYM 文件后启动?
如何按照他们的要求创建“对 shell 脚本构建阶段的显式输入依赖项”?
Roi*_*Tal 13
可以在这里找到类似的问题:
dSYM 默认位置是 ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
您可以使用一个简短的脚本来测试它并观察其输出:
#!/bin/sh
if [ ! -d ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME} ]; then
echo "Couldn't find dsym file"
exit 1
fi
stat -x ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
Run Code Online (Sandbox Code Playgroud)
Roi Tai 的回答几乎是正确的。仅指定${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}dSYMs 文件夹,而不是 dSYM 文件本身。
实际上,我完全解决了这个问题,而无需在脚本中使用睡眠。输入文件路径必须如下:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
我在构建阶段尝试将 dSYM 上传到 Sentry 时遇到了此问题。当指定这个完整的文件路径时,脚本在执行之前等待 dSYM 完全生成 - 不需要睡眠调用!
| 归档时间: |
|
| 查看次数: |
6018 次 |
| 最近记录: |