首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命令PhaseScriptExecution失败,非零退出代码Xcode 11 (BuildPhase脚本)

命令PhaseScriptExecution失败,非零退出代码Xcode 11 (BuildPhase脚本)
EN

Stack Overflow用户
提问于 2020-01-28 05:30:19
回答 1查看 341关注 0票数 1

我已经创建了一个定制的通用框架,我需要将这个脚本添加到它的构建阶段,以便通用框架能够删除未使用的体系结构。如果我计划在应用程序中使用应用程序商店,这是必要的。

但是我得到了编译错误(命令PhaseScriptExecution失败了,一个非零的退出代码):

脚本:

代码语言:javascript
复制
# Type a script or drag a script file from your workspace to insert its path.
FRAMEWORK="TestFramework"
FRAMEWORK_EXECUTABLE_PATH="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$FRAMEWORK.framework/$FRAMEWORK"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRAFRAMEWORK="TestFramework"
FRAMEWORK_EXECUTABLE_PATH="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$FRAMEWORK.framework/$FRAMEWORK"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"CTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"

--这是这里的一个教程: 用Xcode 10.2和iOS 12编写自定义通用框架

问题可能只是一个写得不恰当的字符串,或者是一个不应该出现的空格,但我不知道。

发现:我知道它与for循环或其中的什么东西有关,因为当我删除for循环和它的内容/嵌套代码时,错误就消失了。

复制:要重现错误,您可以简单地创建一个虚拟Xcode项目,然后选择名为→yourProject.xcodeproj的“项目”选项卡,选择目标→项目名称→Select→Press“+”→新运行脚本阶段→,将脚本命名为“删除未使用的体系结构脚本”→,最后只复制和通过代码。

EN

回答 1

Stack Overflow用户

发布于 2020-10-27 14:57:35

这里可能要归咎于for循环。他们可以捕捉到任何可能发生的退出密码。我在这件事上也遇到过类似的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59942651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档