iOS Apollo SDK 1.2.2启用APQ崩溃求助:需生成operationIdentifiers类型
解决Apollo iOS 1.2.2自动持久化查询(APQ)崩溃问题
针对你开启APQ后触发的To enable autoPersistQueries, Apollo types must be generated with operationIdentifiers致命错误,可按以下步骤排查解决:
确保CLI与SDK版本完全匹配
Apollo iOS SDK和CLI版本必须一致,你当前用的是SDK 1.2.2,需确认本地安装的apollo-codegen也是1.2.2版本。可以通过apollo-codegen --version查看版本,若不一致,执行npm install -g apollo-codegen@1.2.2安装对应版本。修正代码生成配置项
在1.2.2版本中,仅配置operationDocumentFormat可能不够,需额外添加generateOperationIdentifiers: true配置项。完整的options配置应为:"options": { "generateOperationIdentifiers": true, "operationDocumentFormat": [ "definition", "operationId" ] }彻底清理并重新生成代码
- 删除之前通过CLI生成的所有Apollo相关Swift文件,避免旧文件残留导致冲突。
- 重新运行代码生成命令,例如:
apollo-codegen generate --output-path ./GeneratedApolloTypes/ ./GraphQL/**/*.graphql --config apollo-codegen-config.json - 检查新生成的Operation类,确认包含
static let operationId: String属性,这是APQ正常运行的关键标识。
验证APQ初始化逻辑
确认RequestChainNetworkTransport的初始化代码中,autoPersistQueries已正确设为true,且使用的拦截器提供者没有覆盖APQ相关逻辑。
内容的提问来源于stack exchange,提问作者Mishka
相关产品推荐
相关产品推荐

