组件化和私有pod源仓库

关于组件化,推荐Casa Taloyum的这篇文章,个人也觉得用runtime来实现组件化编程才是最apple的方式,这篇文章写的通俗易懂,内容很详细,感谢Casa Taloyum的这几篇架构的文章🙏。

以该片文章内容为前提,记录下私有pod源仓库的创建过程。(示例demo

1.在github上new 一个 repository作为我们的私有Pod源仓库。然后分别new三个repository作为我们的组件部分:A, A_Category & B_Category.

2.执行一下命令,将该仓库添加到本地。

pod repo add [私有Pod源仓库名字] [私有Pod源的repo地址]

3.当在本地把A, A_Category, B_Category等组件做好之后,要先把他们push到gitHub并打一个tag,以B_Category为例:

git add .
git commit -m "0.0.1"
git push
git tag 0.0.1
git push origin master --tags

tag打完之后,先验证一下我们的podspec文件是否正确,B_Category的podspec内容如下

Pod::Spec.new do |s|
  s.name         = "B_Category"
  s.version      = "0.0.1" //这里要和上面的tag对应。
  s.summary      = "A short description of B_Category."
  s.description  = <<-DESC
            A short description of B_Category.
                   DESC
  s.homepage     = "https://github.com/LFModulizationDemo/B_Category"
  s.license      = "MIT"
  s.author       = { "archerLj" => "lj0011977@163.com" }
  s.platform     = :ios, "7.0"
  s.ios.deployment_target = "7.0"
  s.source       = { :git => "https://github.com/LFModulizationDemo/B_Category.git", :tag => "#{s.version}" }
  s.source_files = "B_Category/B_Category/**/*.{h,m}"
  s.requires_arc = true
  s.dependency "CTMediator"
end

创建podspec文件的命令

pod spec create B_Category

执行下列命令验证podspec正确性:

pod spec lint B_Category.podspec --verbose --allow-warnings

验证通过之后,将其push到我们的私有Pod源仓库中去即可

pod repo push PrivateRepo B_Category.podspec --verbose --allow-warnings

如果本身组件还依赖其他的私有pod源中的组件,以A模块为例,它不但依赖CTMediator, 还依赖B_Category, 其中B_Category是我们的私有Pod源中的一个组件,这时候验证podspec文件就要指定B_Category组件的位置。

pod spec lint --sources='PrivateRepo,master'  A.podspec --verbose --allow-warnings

这里sources中指定私有Pod源的名字,不要使用url,通过下列命令查看名字即可:

pod repo list

4. 将三个组件全部push到私有源之后,在主工程的Podfile文件中添加他们即可:

source 'https://github.com/LFModulizationDemo/PrivateRepo.git'
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

target 'MainProject' do
  pod 'A'
  pod 'A_Category'
  pod 'B_Category'
  pod 'HandyFrame'
end

这里需要指定我们私有源的位置https://github.com/LFModulizationDemo/PrivateRepo.git, 一旦指定了私有源,就一定要把官方的也带上。
执行pod install去玩即可。


最后帮朋友打个小广告

一个有趣的迷你小程序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容