iOS 组件化开发

1、创建模板文件

  1. pod lib create flieName
  2. pod spec create flieName

方法⼀会帮助你创建一⼤大堆的⽂文件,包括演示demo创建;方法⼆方便你在现有的项目中提取你需要制作pod的代码。

这里使用的是方式一

选择平台、语言、模板、类前缀等


2、在模板的Classes文件中不安置自己编写的组件/框架。


3、模板本地安装组件测试

同时把相应的文件拖动如下的模板工程文件中 cmd + B 编辑看看是否正

如果没有问题本地的组件已经完成 可以在工程给使用试试

4、项目本地安装组件测试

这里的路径是找到 podspec 文件。

5、发布到远程服务器

  1. 将自己的本地组件代码发送到某个代码管理库(如:gitHub、码云等)
  2. 进入代码库 cd到文件
  3. 打开文件 open .
  4. 给代码添加gat  git tag 版本号
  5. 把tag推送到远程仓库 git push --tags

6、配置spec文件

Pod::Spec.new do |s|
    #组件名称
  s.name             = 'GWHomeKit'
  #组件版本号  要和tag一致
  s.version          = '0.1.0'
  #组件的简短简绍
  s.summary          = 'GWHomeKit.描述'
#详细描述
  s.description      = <<-DESC
TODO: GWHomeKit.详细描述
                       DESC
#仓库主页
  s.homepage         = 'https://github.com/Gavin/GWHomeKit'
 
  #CocoaPods强制要求所有的Pods依赖库都必须有license⽂件,否则验证不会通过。license的 类型有很多种,详情可以参考网站tl;dr Legal。在创建github仓库的时候,我已经选择了MIT类型的 license 协议。
  s.license          = { :type => 'MIT', :file => 'LICENSE' }
  # 作者 邮箱
  s.author           = { 'Gavin' => '[email protected]' }
  #真是的分支地址
  s.source           = { :git => 'https://github.com/Gavin/GWHomeKit.git', :tag => s.version.to_s }

 #iOS操作系统版本
  s.ios.deployment_target = '8.0'
  #组件文件路径
s.source_files = 'GWHomeKit/Classes/**/*'
#s.source_files = 'GWHomeKit/Classes/*.{h,m}'

  # s.resource_bundles = {
  #   'GWHomeKit' => ['GWHomeKit/Assets/*.png']
  #图片文件路径
  # }

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'
  #框架依赖
  # s.dependency 'AFNetworking', '~> 2.3'
  #依赖的组件
 
end


这个是在指定共享的类库时, 文件路径不对, 也就是设置s.source_files 字段时, 发生了错误, 这里的路径是相对于.podspec文件的, 如果是与.podspec同级的文件夹, 直接写文件夹名称即可。

7、把spec文件提交的cocoapod

  1. 注册 pod trunk  
    (如:pod trunk register '邮箱' '用户名' --description='电脑描述')
    邮箱会收到一个验证邮件 点击链接即可
  2. 接下来查看个人信息 pod trunk me

    中间可能遇到这种错误:
    `NoMethodError - undefined method 'last' for #<Netrc::Entry:0x007fc59c246378>`
    这时候需要尝试更新gem源或者pod:

    $ sudo gem update --system
    $ sudo gem install cocoapods
    $ sudo gem install cocospods-trunk

    如果遇到这种情况:

    [!]Authentication token is invalid or unverified. Either verify it with ...

    解决方案:

    重新执行第一步注册。重来。

  3.  记得验证spec文件是否正确
    pod lib lint
    (如:pod spec lint GWHomeKit.podspec)

  4.  最后使用pod trunk命令,把podspec文件推送到CocoaPod官方库
    (如: pod trunk push GWHomeKit.podspec)

8到此已经成功了!

接下来需要更新一下本地的pod的json文件即可

1. pod install(这⼀一步已经包括pod setup)
2. pod setup
3. pod repo update
pod setup成功后,依然不不能pod search,是因为之前你执⾏行行pod search⽣生成了了 search_index.json,此时需要删掉。
 
 终端输⼊入:

rm ~/Library/Caches/CocoaPods/search_index.json

9 删除成功后,再执⾏行行:pod search 'GWHomeKit'。

大功告成!可以大功告成!可以去项目中安装自己的组件了


$ pod install

猜你喜欢

转载自blog.csdn.net/wang_gwei/article/details/80508838