此库仅供 Google 内部使用。它允许记录来自 Google SDK 的数据和遥测信息。
这些说明适用于次要版本和补丁版本更新。主版本需要定制的适配。
在 CI 通过后
main
分支,并确保它是最新的。git checkout main
git pull
{version}
将是 podspec 中的最新版本)git tag CocoaPods-{version}
git push origin CocoaPods-{version}
如果此版本的 GDT 计划在下一次 Firebase 发布**之前或与**下一次 Firebase 发布一起发布
pod repo push --skip-tests --use-json staging GoogleDataTransport.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 GoogleDataTransport.podspec
如果命令失败并显示 Unable to find the 'dev' repo.
,请使用以下命令添加 dev 仓库:
pod repo add dev git@github.com:firebase/SpecsDev.git
Gemfile
的 PR 来运行 Firebase CI。/google/data/ro/teams/copybara/copybara third_party/firebase/ios/Releases/GoogleDataTransport/copy.bara.sky \ --piper-description-behavior=OVERWRITE \ --destination-cl=YOUR_CL gdt
发布过程如下:
通过创建和推送标签给 Swift PM,新标记的版本将立即发布以供公众使用。 鉴于此,请验证 Swift PM 的预期发布时间。
git tag {version}
git push origin {version}
注意:确保任何依赖于新 GoogleDataTransport
版本的进行中的 PR 都已更新为指向新标记的版本,而不是校验和。
将新版本的 pod 发布到 CocoaPods
建议指向 staging
中的 GoogleDataTransport.podspec
,以确保发布的是正确的 spec。
[!WARNING] 在继续之前,手动更新您的本地 SpecsStaging 克隆或运行
pod repo update
。
pod trunk push ~/.cocoapods/repos/staging/GoogleDataTransport/{version}/GoogleDataTransport.podspec.json --skip-tests
如果以上命令输出:🚀 GoogleDataTransport ({version}) successfully published
,则 pod 推送成功。 此外,一个新的提交(由 CocoaPodsAtGoogle 共同创作)应该出现在 CocoaPods specs repo 中,该提交发布新版本。 最后,最新版本应该显示在 GoogleDataTransport 的 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 GoogleDataTransport/
git commit -m "Post publish cleanup"
git push origin master
rm -rf /tmp/release-cleanup
cd $pwd
GoogleDataTransport
模块import GoogleDataTransport
FirebaseApp.configure()
之前,将日志级别全局变量设置为所需的值GDTCORConsoleLoggerLoggingLevel = GDTCORLoggingLevel.debug.rawValue
GoogleDataTransport
#import <GoogleDataTransport/GoogleDataTransport.h>
-[FIRApp configure]
之前,将日志级别全局变量设置为所需的值GDTCORConsoleLoggerLoggingLevel = GDTCORLoggingLevelDebug;
gem install --user cocoapods cocoapods-generate
brew install protobuf nanopb-generator
easy_install --user protobuf
./GoogleDataTransport/generate_project.sh
python -c "line='https://www.firebase.com'; print line[0::2]"
python -c "line='https://www.firebase.com'; print line[1::2]"
确保您至少拥有以下软件
对于您要开发的 pod
pod gen GoogleDataTransport.podspec --local-sources=./ --auto-open --platforms=ios
注意:如果 CocoaPods 缓存已过期,您可能需要在 pod gen
命令之前运行 pod repo update
。
注意:将 --platforms
选项设置为 macos
或 tvos
以开发/测试这些平台。 由于 10.2,Xcode 无法正确处理多平台 CocoaPods workspace。
pod gen GoogleDataTransport.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@19
brew install mint
选择一个 scheme 并按 Command-u 来构建一个组件并运行其单元测试。
有关向 Firebase iOS SDK 贡献的更多信息,请参见贡献。
本存储库的内容已获得 Apache License, version 2.0 的许可。