Xcode - 找不到构建输入文件

问题描述 投票:0回答:2

从 Xcode 12 升级后,在任何版本的 Xcode 13 或更高版本上,运行

sudo sh install-appledoc.sh
命令时都会出现以下错误:

Build input file cannot be found: '~/<ProjectDir>/appledoc/default_templates.zip'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it? (in target 'appledoc' from project 'appledoc')

研究这个问题后,我能找到的最好的线索是确保目标没有任何排除的架构,而它没有。我还可以确认所指出的文件确实存在于指定位置。所以我对这个感到困惑。有关如何修复的任何想法吗?

ios xcode appledoc
2个回答
0
投票

可以通过将

$(PROJECT_DIR)/default_templates.zip
添加到 Appledoc 项目的构建阶段的 Output Files 部分来修复此问题。


0
投票

$(PROJECT_DIR)/default_templates.zip
添加到 Appledoc 项目构建阶段的 Output Files 部分。

嗯,是的:将

$(PROJECT_DIR)/default_templates.zip
添加到 Xcode 的构建阶段中的 Output Files 部分会明确指示 Xcode 在构建脚本执行后在何处期望文件:Xcode 现在可以在构建过程中正确跟踪文件,确保它是在指定位置识别。

这在“Xcode /构建系统/在构建期间运行自定义脚本/指定脚本的输入和输出文件”中提到。

通过在构建设置中指定输出文件,您可以有效地声明构建的依赖项。然后,Xcode 可以确保所有列出的文件都按预期生成,然后再继续后续构建步骤。这降低了与丢失文件相关的错误风险。

如上所述,避免在 Xcode 构建脚本中或运行与 Xcode 集成的脚本时使用

sudo
sudo
可以更改环境变量,这可能导致
$HOME
指向根主目录而不是用户的目录。

使用管道时,最好添加一个脚本来回显

$HOME
或其他相关变量:Xcode 中的新运行脚本阶段:

echo "Home directory: $HOME"
echo "User: $(whoami)"

脚本执行时会打印出有效的用户和主目录路径,可以帮助您调试路径问题。

© www.soinside.com 2019 - 2024. All rights reserved.