如何使用Apollo框架构建Xcode iOS项目来使用GraphQL

ejk8hzay  于 2023-06-30  发布在  iOS
关注(0)|答案(1)|浏览(186)

我正在做一个连接到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:没有这样的文件或目录
为什么我得到这个错误?

c9qzyr3d

c9qzyr3d1#

在apollo ios的最新版本中,构建脚本已经改变,因为apollo-codegen现在是新apollo cli的一部分。它应该改为引用check-and-run-apollo-cli.sh
同时确保你使用的是apollo的最新版本(目前是0.9.2),在你的podfile中指定这个版本。您可能还需要通过运行pod repo update来更新pod存储库。

相关问题