
fastlane deliver 如何拉取 App Store Connect 现有元数据到本地仓库并推送变更【免费下载链接】fastlane The easiest way to automate building and releasing your iOS and Android apps项目地址: https://gitcode.com/GitHub_Trending/fa/fastlane如果你的 App 已经在 App Store Connect 上运行现在想把名称、描述、关键词、宣传文本、版本说明等元数据从 App Store Connect 拉回本地仓库改成纯文本文件来维护改完再推回 App Store Connectfastlane 的 deliver 就是完成这件事的工具。整条链路是拉取 → 本地以.txt文件维护 → 生成 HTML 预览确认 → 推送变更。deliver 属于 fastlane适用于 iOS/tvOS/watchOS/macOS 应用macOS 用pkg其余平台用ipa上传二进制只维护元数据时不涉及二进制。准备工作项目目录中已安装并可用 fastlanedeliver 通过fastlane deliver调用也可在Fastfile中写deliver(...)。登录凭证deliver 支持两种方式见 deliver/lib/deliver/runner.rb 的login实现App Store Connect 账号username即 Apple ID 邮箱密码会存入 macOS 钥匙串也可通过环境变量传入App Store Connect API Keyapi_key/api_key_path。你的 app 在 App Store Connect 上已有正在编辑的版本因为拉取的就是这个版本的元数据。首次接入时deliver 会引导你输入 App Store Connect 凭证和 app identifierbundle identifier如com.yourcompany.app。拉取现有元数据到本地首次初始化fastlane deliver init在项目根目录执行cd [your_project_folder] fastlane deliver init该命令会见 deliver/lib/deliver/commands_generator.rb 中:init命令和 deliver/lib/deliver/setup.rb登录 App Store Connect生成DeliverfileSwift 配置可另选Deliverfile.swift从 App Store Connect 拉取最新 App Store 版本的元数据按语言写入本地文件夹如en-US/description.txt、release_notes.txt非本地化字段如版权、分类写在 metadata 根目录过程中会为每个文件打印Writing to 路径下载现有截图到screenshots目录可用skip_screenshots跳过并输出Successfully created new Deliverfile at path 路径表示初始化完成。拉取的元数据默认落在./fastlane/metadata不使用 fastlane 目录约定时是./metadata可用metadata_path参数覆盖。文档明确建议元数据可以存进 git截图不必。已初始化后重新拉取fastlane deliver download_metadata仓库里已经有一套本地元数据、需要把 App Store Connect 上的最新值同步下来时fastlane deliver download_metadata注意副作用这条命令会覆盖本地已有的元数据文件命令描述原文为 This overwrites the local files.。执行时的覆盖判定逻辑force_overwrite_metadata?传了--force或设置了环境变量DELIVER_FORCE_OVERWRITE→ 直接覆盖否则在交互式终端下会询问Do you want to overwrite existing metadata on path 路径?选否则直接结束、不做任何下载如果本地有未提交的修改且不想被覆盖先提交或暂存 git 变更再执行。另外两个可选分支仅在需要时执行# 单独下载现有截图到 screenshots 目录不覆盖 metadata fastlane deliver download_screenshots # 只生成 HTML 汇总报告不上传也不下载 fastlane deliver generate_summarydownload_screenshots的目标目录为options[:screenshots_path]默认是 fastlane 目录下的screenshots。在本地修改元数据修改后的内容全部以纯文本文件形式存在 metadata 目录中结构与文档约定一致见 fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb 的 Available Metadata Folder Optionsfastlane/metadata/ ├── copyright.txt # 非本地化字段 ├── primary_category.txt ├── en-US/ │ ├── description.txt │ ├── release_notes.txt │ ├── keywords.txt │ └── promotional_text.txt ├── de-DE/ │ └── ... └── review_information/ └── ...非本地化字段metadata_path/key.txt本地化字段metadata_path/lang/key.txt语言代码如en-US、de-DE审核联系信息在metadata_path/review_information/key.txt。也可以不在文件里写、而在Deliverfile或Fastfile中直接传参例如本地化字段用哈希按语言给出deliver( description: { en-US English Description here, de-DE Deutsche Beschreibung hier }, keywords: { en-US Keyword1, Keyword2 } )Deliverfile/Fastfile中显式给出的值优先于 metadata 目录中的同名文件。想查全部可选的元数据 key、目录和文件名运行fastlane action deliver。推送变更回 App Store Connect确认本地修改无误后fastlane deliver执行顺序见 deliver/lib/deliver/runner.rb 的run/upload_metadata登录 App Store Connect读取本地 metadata 目录与截图在未设置force时先生成一份 HTML 汇总报告供你核对本次将上传的内容——这就是推送前的人工确认环节把元数据、截图以及指定了ipa/pkg时的二进制写入 App Store Connect。只想在正式推送前再核对一遍内容、且不动线上数据时可以单独跑fastlane deliver generate_summary它只生成 HTML 报告输出Successfully generated HTML report at 路径不做任何上传和下载。如果是在 CI 等非交互环境运行、跳过 HTML 报告确认环节用forcefastlane deliver --force或在Deliverfile/Fastfile中写force(true)。force只跳过 HTML 报告不改变上传内容。验证结果拉取阶段init / download 过程会为每个写出的文件打印Writing to 路径init 结束时出现Successfully created new Deliverfile at path 路径。到fastlane/metadata下检查各语言的.txt文件内容是否与 App Store Connect 页面一致。推送阶段HTML 报告里核对将要提交的内容执行成功后终端输出Finished the upload to App Store Connectskip_binary_upload时不显示该消息。最终确认到 App Store Connect 对应版本的页面核对名称、描述、关键词等是否已更新为本地文件中的值。限制与边界fastlane deliver不带ipa/pkg时只上传元数据文档明确说明未提供ipa时 only app metadata will be uploaded想同时提交审核需--submit_for_review或在配置里submit_for_review true本文场景不涉及。download_metadata指定app_version时只会匹配当前编辑版本或已上线版本两者都与指定版本不符会直接报错Neither the current nor live version match specified app_version。多团队协作账号下transporter 需要 provider 短名itc_provider选项deliver 会尝试从所选团队名自动推断无法推断时才需显式指定。完整的参数清单与元数据文件对照表以仓库内文档 fastlane/lib/fastlane/actions/docs/upload_to_app_store.md.erb 为准命令实现见 deliver/lib/deliver/commands_generator.rb。【免费下载链接】fastlane The easiest way to automate building and releasing your iOS and Android apps项目地址: https://gitcode.com/GitHub_Trending/fa/fastlane创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考