API.swift 文件未更新:Apollo GraphQL iOS

Ang*_*rus 5 ios apollo swift graphql

我正在将 GraphQL API 与 iOS 项目一起使用。我的 .graphql 文件是,

mutation SigninQuery($email: String! , $password: String!) {
    signin(email: $email, password: $password) {
        result {
            token
            firstName
            lastName
            profileImage
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的文件按以下顺序放置,

项目

  • ->应用程序委托
  • ->信息.plist
  • ->schema.json
  • -->Graphql[文件夹]

  • ->API.swift

  • ->ApiFile.graphql

我的 API.swift 文件仍然仅存在标头

进口阿波罗

。任何人都可以帮我找到解决方案

Tar*_*ras 0

如果你正确初始化了apollo客户端,那么就不会出现这样的问题。我使用Swift 包安装了Apollo。我做了以下步骤:

  1. 等级制度

在此输入图像描述

  1. 要生成的脚本API.swift(注意要生成的文件夹和模式名称。在我的例子中,文件夹是GraphQL,名称是tetsTet):
    DERIVED_DATA_CANDIDATE="${BUILD_ROOT}"

     while ! [ -d "${DERIVED_DATA_CANDIDATE}/SourcePackages" ]; do
       if [ "${DERIVED_DATA_CANDIDATE}" = / ]; then
         echo >&2 "error: Unable to locate SourcePackages directory from BUILD_ROOT: '${BUILD_ROOT}'"
        exit 1
       fi

  DERIVED_DATA_CANDIDATE="$(dirname "${DERIVED_DATA_CANDIDATE}")"
done

# Grab a reference to the directory where scripts are checked out
SCRIPT_PATH="${DERIVED_DATA_CANDIDATE}/SourcePackages/checkouts/apollo-ios/scripts"

if [ -z "${SCRIPT_PATH}" ]; then
    echo >&2 "error: Couldn't find the CLI script in your checked out SPM packages; make sure to add the framework to your project."
    exit 1
fi

cd "${SRCROOT}/${TARGET_NAME}/GraphQL"
"${SCRIPT_PATH}"/run-bundled-codegen.sh codegen:generate --target=swift --includes=./**/*.graphql --localSchemaFile="tetsTets.json" API.swift
Run Code Online (Sandbox Code Playgroud)
  1. 将生成的API.swift文件拖到您的文件夹中

取消选中“根据需要复制文件”复选框