GoogleUtilities 为 Firebase 和其他 Google SDK 提供了一系列在 Apple 平台进行开发时可用的实用工具。
这些实用工具不直接支持非 Google 库的使用。
以下说明适用于次要版本和补丁版本的更新。主版本需要定制化的适配。
CI 变为绿色后
main
分支并确保它是最新的git checkout main
git pull
{version}
将是podspec中的最新版本)git tag CocoaPods-{version}
git push origin CocoaPods-{version}
如果此版本的 GoogleUtilities 计划在下一次 Firebase 发布**之前或同时**发布
pod repo push --skip-tests --use-json staging GoogleUtilities.podspec
如果命令失败并显示 Unable to find the 'staging' repo.
,请使用以下命令添加 staging 仓库:
pod repo add staging git@github.com:firebase/SpecsStaging.git
否则
pod repo push --skip-tests --use-json dev GoogleUtilities.podspec
如果命令失败并显示 Unable to find the 'dev' repo.
,请使用以下命令添加 dev 仓库:
pod repo add dev git@github.com:firebase/SpecsDev.git
Gemfile
的 PR。third_party/firebase/ios/Releases/run_copy_bara.py --directory GoogleUtilities --branch main
发布流程如下:
通过为 Swift PM 创建并推送标签,新标记的版本将立即发布以供公众使用。 鉴于此,请验证 Swift PM 的预期发布时间。
git tag {version}
git push origin {version}
注意:确保任何依赖于新的 GoogleUtilities
版本的进行中的 PR 都已更新为指向新标记的版本,而不是校验和。
将新版本的 pod 发布到 CocoaPods
建议指向 staging
中的 GoogleUtilities.podspec
以确保发布正确的 spec。
pod trunk push ~/.cocoapods/repos/staging/GoogleUtilities/{version}/GoogleUtilities.podspec.json
注意:在某些情况下,可以使用 --skip-tests
标志执行 pod trunk push
。 在这样做之前,请与维护人员仔细确认。
如果以上命令记录显示:🚀 GoogleUtilities ({version}) successfully published
,则表示 pod 推送成功。 此外,CocoaPodsAtGoogle 共同创作的新提交,该提交发布新版本,应出现在 CocoaPods specs 仓库中。 最后,最新版本应显示在 GoogleUtilities 的 CocoaPods 页面上。
使用最新版本更新发布模板的 Tag version 和 Release title 字段。 此外,在发布的描述中引用发行说明。
有关示例,请参见此版本。
不要忘记执行发布后清理!
pwd=$(pwd)
mkdir -p /tmp/release-cleanup && cd $_
git clone git@github.com:firebase/SpecsStaging.git
cd SpecsStaging/
git rm -rf GoogleUtilities/
git commit -m "Post publish cleanup"
git push origin master
rm -rf /tmp/release-cleanup
cd $pwd
要在此仓库中进行开发,请确保您至少拥有以下软件:
对于您要开发的 pod
pod gen GoogleUtilities.podspec --local-sources=./ --auto-open --platforms=ios
注意:如果 CocoaPods 缓存已过期,您可能需要在运行 pod gen
命令之前运行 pod repo update
。
注意:将 --platforms
选项设置为 macos
或 tvos
以开发/测试这些平台。 从 10.2 开始,Xcode 无法正确处理多平台 CocoaPods 工作区。
pod gen GoogleUtilities.podspec --local-sources=./ --auto-open --platforms=ios
或者,在每个目标中禁用签名
+
Add User-Defined Setting
CODE_SIGNING_REQUIRED
设置,值为 NO
为确保代码格式一致,请在创建 PR 之前运行脚本 ./scripts/check.sh。
GitHub Actions 将验证任何代码更改是否以符合样式的方式完成。 安装 clang-format
和 mint
brew install clang-format@18
brew install mint
选择一个 scheme 并按 Command-u 来构建一个组件并运行其单元测试。
请参阅贡献。
本仓库的内容在 Apache License, version 2.0 许可下发布。