私有化Pod模块化脚本搭建

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

使用自定义脚本方法

$ pod lib create yourPodName --template-url=https://github.com/xx/PodTemplate.git

构建自己的脚本

参考官方的pod-template

$ git clone https://github.com/CocoaPods/pod-template.git

脚本主要流程

  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
      }
  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
  1. Example工程处理,如果选择不创建工程,则会移除工程文件。
  2. 文件/文件夹重命名。

参考

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

目录
相关文章
|
1天前
|
缓存 人工智能 PyTorch
LMDeploy 部署 VLMs 的方法与探讨
LMDeploy 部署 VLMs 的方法与探讨 LMDeploy 是一个高效且友好的大型语言模型(LLMs)和视觉-语言模型(VLMs)部署工具箱,由上海人工智能实验室模型压缩和部署团队开发,涵盖了模型量化、离线推理和在线服务等功能。
LMDeploy 部署 VLMs 的方法与探讨
|
1天前
|
边缘计算 运维 Kubernetes
在K8S中,常见部署K8S方式有哪些?
在K8S中,常见部署K8S方式有哪些?
|
3月前
|
弹性计算 运维 数据处理
资源编排ROS之模块:实现模板代码复用(进阶篇)
资源编排ROS模块能够实现模板代码复用。支持输入输出、公共模块、版本管理、共享模块等功能。在使用场景上,除了对基础设施模块化外,还可作为配置、数据处理工具或资源包装器。
476 6
|
3月前
|
弹性计算 运维 安全
资源编排ROS之模块:实现模板代码复用(基础篇)
ROS是阿里云的资源管理服务,通过模板定义和编排引擎自动化部署云资源。模块是可预测、重用、追溯和管理的资源集合,分为公共和自定义类型。它们简化了复杂配置,如安全组,可在多个模板和账号中复用。创建模块后,可在资源栈中引用,实现标准化部署。
105 1
|
11月前
|
JavaScript C# 数据安全/隐私保护
C# 软件Licence应用实例
我们在使用一些需要购买版权的软件产品时,或者我们做的商业软件需要进行售卖,为了收取费用,一般需要一个软件使用许可证,然后输入这个许可到软件里就能够使用软件。简单的是一串序列码或者一个许可证文件,复杂的是一个定制化插件包。于是有的小伙伴就开始好奇这个许可是怎么实现的,特别是在离线情况下它是怎么给软件授权,同时又能避免被破解的。
245 0
|
弹性计算 Linux Windows
轻松复用你搭建好的环境和应用——镜像管理
轻松复用你搭建好的环境和应用——镜像管理自制脑图, 介绍了镜像的作用,如何创建镜像,复制、共享与导入镜像,使用云市场镜像。
122 0
轻松复用你搭建好的环境和应用——镜像管理
|
开发者
Apifox如何实现私有化部署?解决方案
这个软件SaaS版本官方已经承诺永久免费,只有私有化部署是付费的。而且SaaS版本不限接口数量,不限项目人数,不限功能,非常厚道,对于日常开发来说,SaaS版本已经完全够用了。
1979 0
Apifox如何实现私有化部署?解决方案
|
数据采集 运维 Kubernetes
如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限?
本文分享了 OpenKruise 中一些功能的用法,以及它如何与 Kubelet 和 CRI 合作。如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限。
如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限?
|
弹性计算 Linux 数据安全/隐私保护
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
快速学习 轻松复用你搭建好的环境和应用——镜像管理
158 0
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
|
安全 Java Linux
上线必备 | 高性能ES5.X部署配置清单
题记 网上当前(截止20170914)流传的各种配置文件普通存在以下问题: 1)版本低,不能和当前版本5.X匹配。 2)5.X的配置本身较1.X,2.X就有很大不同,原有配置已不适用。 3)ES英文、中文文档也没有及时更新。 现在,确保ES5.X的高性能到底需要哪些配置越发令人神往。 以下清单内容参考了ES官网文档,且都是在ES5.4.0的环境中验证过的,请放心使用。
215 0