运行 脚本阶段出错:框架是一个目录
Error in run script phase: framework is a directory
我正在使用我使用 Carthage 安装的 GraphQL 的 apollo 框架,但是当我 运行 在构建阶段生成 API.swift 文件的脚本时出现错误。
错误是
> [myproject]/Carthage/Build/iOS/Apollo.framework: is a directory
Command /bin/sh failed with exit code 126
我确实添加了 apollo doc 中的脚本:
这是脚本本身:
APOLLO_FRAMEWORK_PATH="$(eval find $FRAMEWORK_SEARCH_PATHS -name "Apollo.framework" -maxdepth 1)"
if [ -z "$APOLLO_FRAMEWORK_PATH" ]; then
echo "error: Couldn't find Apollo.framework in FRAMEWORK_SEARCH_PATHS; make sure to add the framework to your project."
exit 1
fi
cd "${SRCROOT}/${TARGET_NAME}"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find . -name '*.graphql') --schema schema.json --output API.swift
当然我也预先生成了schema.json
可能回答有点晚,但至少在我的机器上 APOLLO_FRAMEWORK_PATH
被评估为两个框架(iOS 和 watchOS),因此 运行 捆绑脚本与 $APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh
失败。
假设脚本没有区别(从 apollo-ios@0.8.0
版本开始它们没有区别)您可以将 -print -quit
添加到 find 命令的末尾以使其仅 return一个结果。
完整脚本为:
APOLLO_FRAMEWORK_PATH="$(eval find $FRAMEWORK_SEARCH_PATHS -name "Apollo.framework" -maxdepth 1 -print -quit)"
if [ -z "$APOLLO_FRAMEWORK_PATH" ]; then
echo "error: Couldn't find Apollo.framework in FRAMEWORK_SEARCH_PATHS; make sure to add the framework to your project."
exit 1
fi
cd "${SRCROOT}/${TARGET_NAME}"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find . -name '*.graphql') --schema schema.json --output API.swift
我正在使用我使用 Carthage 安装的 GraphQL 的 apollo 框架,但是当我 运行 在构建阶段生成 API.swift 文件的脚本时出现错误。
错误是
> [myproject]/Carthage/Build/iOS/Apollo.framework: is a directory
Command /bin/sh failed with exit code 126
我确实添加了 apollo doc 中的脚本:
这是脚本本身:
APOLLO_FRAMEWORK_PATH="$(eval find $FRAMEWORK_SEARCH_PATHS -name "Apollo.framework" -maxdepth 1)"
if [ -z "$APOLLO_FRAMEWORK_PATH" ]; then
echo "error: Couldn't find Apollo.framework in FRAMEWORK_SEARCH_PATHS; make sure to add the framework to your project."
exit 1
fi
cd "${SRCROOT}/${TARGET_NAME}"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find . -name '*.graphql') --schema schema.json --output API.swift
当然我也预先生成了schema.json
可能回答有点晚,但至少在我的机器上 APOLLO_FRAMEWORK_PATH
被评估为两个框架(iOS 和 watchOS),因此 运行 捆绑脚本与 $APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh
失败。
假设脚本没有区别(从 apollo-ios@0.8.0
版本开始它们没有区别)您可以将 -print -quit
添加到 find 命令的末尾以使其仅 return一个结果。
完整脚本为:
APOLLO_FRAMEWORK_PATH="$(eval find $FRAMEWORK_SEARCH_PATHS -name "Apollo.framework" -maxdepth 1 -print -quit)"
if [ -z "$APOLLO_FRAMEWORK_PATH" ]; then
echo "error: Couldn't find Apollo.framework in FRAMEWORK_SEARCH_PATHS; make sure to add the framework to your project."
exit 1
fi
cd "${SRCROOT}/${TARGET_NAME}"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate $(find . -name '*.graphql') --schema schema.json --output API.swift