私有化Pod模块化脚本搭建

简介: 定制用于快速创造Cocoapod子仓库的模版脚本

使用自定义脚本方法

$ pod lib create yourPodName --template-url=https://github.com/xx/PodTemplate.git
AI 代码解读

构建自己的脚本

参考官方的pod-template

$ git clone https://github.com/CocoaPods/pod-template.git
AI 代码解读

脚本主要流程

  1. 模版主入口:configure。
  2. 执行TemplateConfigurator.rb。

  3. 询问创建iOS/macOS,以及oc/swift,对应ConfigurationiOS.rb/ConfigureMacOSSwift.rb/ConfigureSwift.rb。

  4. replace_variables_in_files,为Pod模版注入参数(作者,事件,Pod名)。

  5. clean_template_files,清理模版不需要的文件 。
  6. rename_template_files,重命名模版文件。
  7. add_pods_to_podfile,将当前Pod添加Example的podfile中。
  8. customise_prefix,设置类名默认前缀。
  9. rename_classes_folder,Pod文件夹重命名。
  10. ensure_carthage_compatibility,适配carthage用法。
  11. reinitialize_git_repo,重制当前文件夹的git仓库信息。
  12. run_pod_install,为Example执行pod install。
  13. @message_bank.farewell_message,提示完成信息

ConfigurationiOS.rb

  1. 询问是否创建Example工程。注释掉直接keep_demo = :yes,即可默认创建Example工程 。
  2. 询问是否使用单元测试框架,framework = :none,根据需求直接不使用即可。
  3. 询问类前缀,此处保留,依各业务模块需求命名类前缀。

ProjectManipulator.rb

  1. 执行指定格式文本替换。
@string_replacements = {
   
        "PROJECT_OWNER" => @configurator.user_name,
        "TODAYS_DATE" => @configurator.date,
        "TODAYS_YEAR" => @configurator.year,
        "PROJECT" => @configurator.pod_name,
        "CPD" => @prefix
      }
AI 代码解读
  1. 调用主要装配工程的脚本。
def add_podspec_metadata
      project_metadata_item = @project.root_object.main_group.children.select {
    |group| group.name == "Podspec Metadata" }.first
      project_metadata_item.new_file "../" + @configurator.pod_name  + ".podspec"
      project_metadata_item.new_file "../README.md"
      project_metadata_item.new_file "../LICENSE"
    end
AI 代码解读
  1. Example工程处理,如果选择不创建工程,则会移除工程文件。
  2. 文件/文件夹重命名。

参考

基于官方pod模板制作适合于自己的pod模板

gin桦
+关注
目录
打赏
0
0
0
0
1
分享
相关文章
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
【一起学Rust | 进阶篇 | Service Manager库】Rust专用跨平台服务管理库
418 0
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
Appium自动化框架从0到1之 执行测试用例& 生成测试报告&发送邮件
263 1
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
Flink CDC:新一代实时数据集成框架
本文源自阿里云实时计算团队 Apache Flink Committer 任庆盛在 Apache Asia CommunityOverCode 2024 的分享,涵盖 Flink CDC 的概念、版本历程、内部实现及社区未来规划。Flink CDC 是一种基于数据库日志的 CDC 技术实现的数据集成框架,能高效完成全量和增量数据的实时同步。自 2020 年以来,Flink CDC 经过多次迭代,已成为功能强大的实时数据集成工具,支持多种数据库和数据湖仓系统。未来将进一步扩展生态并提升稳定性。
1311 2
Flink CDC:新一代实时数据集成框架
超越传统模型:探讨门控循环单元(GRU)在语音识别领域的最新进展与挑战
【10月更文挑战第7天】随着人工智能技术的不断进步,语音识别已经从一个相对小众的研究领域发展成为日常生活中的常见技术。无论是智能手机上的语音助手,还是智能家居设备,甚至是自动字幕生成系统,都离不开高质量的语音识别技术的支持。在众多用于语音识别的技术中,基于深度学习的方法尤其是递归神经网络(RNNs)及其变体如长短期记忆网络(LSTMs)和门控循环单元(GRUs)已经成为了研究和应用的热点。
446 2
聊聊自动化测试的度量指标
在聊自动化测试度量指标前,有必要回到做自动化的初衷上,就是为什么要做自动化测试,要解决什么问题。
阿里云注册域名创建信息模板流程及审核时间说明
阿里云注册域名所有者没有信息模板,新创建的信息模板已经提交,审核需要多长时间?着急
463 0
阿里云注册域名创建信息模板流程及审核时间说明
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问