ios - 无法使用 Apollo 框架构建 Xcode iOS 项目以使用 GraphQL
问题描述
我正在开发一个连接到 GraphQL API 的 Xcode 项目。为此,我使用了Apollo 框架。
在我的项目中,我安装了包含 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/The Game.build/Script-7851AAFF2110C71000903FAD.sh:第12行:/Users /JohnDoe/Library/Developer/Xcode/DerivedData/The_Game-dfpiqreyqdjocaawjrfwhrxhdosf/Build/Products/Debug-iphonesimulator/Apollo/Apollo.framework/check-and-run-apollo-codegen.sh:没有这样的文件或目录
老实说,我不知道为什么我会得到这个区域。谁能明白为什么?
解决方案
构建脚本在最近版本的 apollo ios 中发生了变化,因为 apollo-codegen 现在是新 apollo cli 的一部分。它应该引用check-and-run-apollo-cli.sh
。
还要确保您使用最新版本的 apollo(当前0.9.2
),方法是在您的 podfile 中指定版本。您可能还需要通过运行更新您的 pod 存储库pod repo update
。
推荐阅读
- excel - 使用活动单元格检索数据
- python-3.x - 排序测试用例执行 - Pytest
- c++ - .SO 和 .DLL 库的可重定位代码
- sql - SQL Plus Dot Net - 电话格式标记不起作用
- javascript - 当我从数组中删除一个元素时,为什么它会同时删除该数组和行代码中未提及的另一个数组?
- c# - 如何将模型从数据库传输到编辑页面?
- r - 如何生成具有简单功能的重复代码?
- excel - 参考单元格中的 Excel 2010 SUMIFS 标准数组不起作用
- vb.net-2010 - 如何修复 InvalidArgument=“3”的值对“索引”无效。参数名称:导出listview项到excel中的索引
- ios - 如何从给定的数字中找到一个随机组合,这些组合在 Swift 中加起来是另一个数字?