我正在做一个连接到GraphQL API的Xcode项目。为此,我使用Apollo framework。
在我的项目中,我安装了包含Apollo框架的cocoapod,然后在Xcode中添加了以下运行脚本:
if which apollo-codegen >/dev/null; then
APOLLO_FRAMEWORK_PATH="$(eval find $FRAMEWORK_SEARCH_PATHS -name "Apollo.framework" -maxdepth 1)"
if [ -z "$APOLLO_FRAMEWORK_PATH" ]; then
echo "warning: Couldn't find Apollo.framework in FRAMEWORK_SEARCH_PATHS; make sure to add the framework to your project."
exit 0
fi
cd "${SRCROOT}/${TARGET_NAME}/GraphQL"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-codegen.sh generate \
$(find . -name '*.graphql') \
--schema schema.json \
--output Generated/GraphQLAPI.swift
else
echo "Skipping Apollo code generation"
fi
这是它在Xcode中的样子:
我在Xcode中的目录结构看起来像这样:
然后从终端运行以下命令:
npm install -g apollo-codegen
当我尝试构建我的Xcode项目时,我不幸地得到以下构建错误:
/Users/JohnDoe/Library/Developer/Xcode/DerivedData/The_Game-dfpiqreyqdjocaawjrfwhrxhdosf/Build/Intermediates.noindex/The Game.build/Debug-iphonesimulator/TheGame.build/Script-7851AAFF2110C71000903FAD.sh: line 12:/Users/JohnDoe/Library/Developer/Xcode/DerivedData/The_Game-dfpiqreyqdjocaawjrfwhrxhdosf/Build/Products/Debug-iphonesimulator/Apollo/Apollo.framework/check-and-run-apollo-codegen.sh:没有这样的文件或目录
为什么我得到这个错误?
1条答案
按热度按时间c9qzyr3d1#
在apollo ios的最新版本中,构建脚本已经改变,因为apollo-codegen现在是新apollo cli的一部分。它应该改为引用
check-and-run-apollo-cli.sh
。同时确保你使用的是apollo的最新版本(目前是
0.9.2
),在你的podfile中指定这个版本。您可能还需要通过运行pod repo update
来更新pod存储库。