如何在Xcode构建脚本中引用.xcfilelist中的第一个文件?

goucqfw6  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(119)

如何在Xcode构建脚本中引用. xcfilelist中的第一个文件?
如果我单独列出文件(而不是使用. xcfilelist),那么我当然可以使用SCRIPT_OUTPUT_FILE_0。但是如果我使用. xcfilelist,那么我如何引用第一个输出文件呢?
我们首先使用. xcfilelist的唯一原因是这样Xcode就不会在每次编译时都重新运行脚本并重新编译模块。然而,这正是它所做的...它似乎忽略了输出文件列表的. xcfilelist中指定的内容,总是重新生成这些文件,然后重新编译它们,即使什么都没有改变。
看起来像是Xcode的bug,但是我想也许我们可以通过引用文件列表中的第一个文件来比较脚本开始时的修改时间,但是我似乎找不到这样做的方法。

cygmwpex

cygmwpex1#

如果你想遍历所有xcfilelist中的所有行,那么这个简单的脚本就可以做到:

for index in $(seq $SCRIPT_INPUT_FILE_LIST_COUNT); do
    # 1 => `SCRIPT_INPUT_FILE_LIST_0`
    filelist=SCRIPT_INPUT_FILE_LIST_$((index-1))
    # `SCRIPT_INPUT_FILE_LIST_0` => value in $SCRIPT_INPUT_FILE_LIST_0
    filelist_path=${!filelist}

    while read -r file_path; do
        echo "${file_path}"
    done <$filelist_path
done

它将动态构造SCRIPT_INPUT_FILE_LIST_0SCRIPT_INPUT_FILE_LIST_1等值,并从Xcode传递给脚本的环境变量中访问这些值。

相关问题