簡體   English   中英

check-and-run-apollo-cli.sh:沒有這樣的文件或目錄

[英]check-and-run-apollo-cli.sh: No such file or directory

我正在嘗試為客戶運行一個應用程序,但我一直在經歷這個錯誤:

在此處輸入圖像描述

該應用程序正在使用一個名為 Apollo 的 Cocoapod,已完全更新。 我在 2018 Macbook Pro 上使用 Xcode 13.3

我嘗試了一些解決方案,例如:

  • 重新安裝 pod(刪除 Podfile 中的行,更新,再次添加並清理構建)
  • 更改 Build Phases 上的腳本以匹配此答案
  • 我搜索並找到了類似這個答案的架構文件
  • 我還閱讀了 Apollo 文檔,發現應用程序中的代碼或腳本沒有任何問題。

在我的目標 BuildPhases/Run Script 中,我有以下代碼:

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 "${SCROOT}/${TARGET_NAME}/Api/PrivateAPI"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-cli.sh codegen:generate --queries="$(find . -name '*.graphql')" --passthroughCustomScalars --schema=schemaPrivate.json PrivateAPI.swift
cd "${SCROOT}/${TARGET_NAME}/Api/PublicAPI"
$APOLLO_FRAMEWORK_PATH/check-and-run-apollo-cli.sh codegen:generate --queries="$(find . -name '*.graphql')" --passthroughCustomScalars --schema=schemaPublic.json PublicAPI.swift

我找到了解決方案。 由於代碼是在 2018 年編寫的,因此 Apollo pod 似乎發生了一些變化。 我將 BuildPhases/Run Script 更改為此代碼,就像 Apollo 文檔要求的那樣:

if [ $ACTION = "indexbuild"]; then exit 0; fi

SCRIPT_PATH="${PODS_ROOT}/Apollo/scripts"

cd "${SRCROOT}/${TARGET_NAME}/API/PublicAPI"
"${SCRIPT_PATH}"/run-bundled-codegen.sh codegen:generate --target=swift --includes=./****.graphql --localSchemaFile="schemaPublic.json" PublicAPI.swift

cd "${SRCROOT}/${TARGET_NAME}/API/PrivateAPI"
"${SCRIPT_PATH}"/run-bundled-codegen.sh codegen:generate --target=swift --includes=./****.graphql --localSchemaFile="schemaPrivate.json" PrivateAPI.swift

這對這些錯誤有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM