前提
集成 TUIKit 组件, 如果你发现 TUIKit 有 bug 需要修改, 或者因为公司业务需求需要在此基础上做二次开发, 那么就需要修改 TUIKit 源码, 但是如果下一次 TUIKit 更新时, 或者你执行 pod install 的时候, 远程库的 TUIKit 就会覆盖本地的 pod, 之前的改动都被覆盖了. 之前所写的代码都付之东流. 因此一种更加优雅的做法是把 TUIKIt 私有组件化, 再集成自己私有的这个 TUIKit pod 并在此基础上二次开发或者改动, 当 TUIKit 有更新的时候根据业务需求考虑 git 操作, merge 到自己的本地私有库来实现更新.
准备工作
- 安装好 XCode
- 配置好 CocoaPods,并且可以 pod update 以及 pod install 成功
- 下载 TUIKit 源码, https://github.com/tencentyun/TIMSDK 下的 iOS/TUIKit 目录, 或者 podspec 里面的 source 地址均可下载 TUIKit 源码
私有 Spec Repo
进入 TUIKit 源码目录, 执行 pod spec create TUIKit , 即可生成 podspec 文件, 编辑这个文件, 注意 source 如果是本地则为空, 其他如 vendored_libraries 和 resource 注意一定不要把目录搞错了. 下图是一个参考:
可用下列命令检查 podspec 文件是否规范:
$ pod spec lint xxx.podspec
在 Podfile 中使用 pod 'TUIKit', :path => '../TUIKit' 指向本地库即可, pod install 之后即可安装成功
集成之后再看 TUIKit 想找相关的模块就比较清楚了
更新 TUIKit
可以看 巧用 Git 分支管理自动升级 TUIKit 源码 这个 wiki
给 TUIKit 贡献代码
当你发现 TUIKit 有 bug 自己能修复时, 可以给 https://github.com/tencentyun/TIMSDK 仓库贡献您的代码. 提交PR即可, 具体步骤可以参考如下:
- 首先 fork 一份 https://github.com/tencentyun/TIMSDK 到你自己的仓库.
- 在本地仓库执行修改, 并提交到自己的仓库
- 从刚刚更新的master分支新建一个修复分支, 例如 git checkout -b fix-ios-14-click-cell-not-response master 在这个分支上修改
- 然后 git add 刚刚的修改, 再提交到 GitHub. (注意只提交你修改, 不然会提交很多无意义的更改到分支上)
注意: iOS 不要提交 pod install 之后的版本, 会有很多无关文件
- 然后就可以在GitHub上提 PR 了, 创建一个PR, 从自己的仓库到腾讯云仓库. 写好注释即可