美文网首页
CocoaPods 复习

CocoaPods 复习

作者: 清無 | 来源:发表于2020-06-02 15:08 被阅读0次

    Podfile

    source

    指定所有pod所在的索引仓库,如source 'https://github.com/CocoaPods/Specs.git'

    pod

    参数1

    版本号

    • '>','>='
    • '具体版本'
    • '~>' 区间版本,比如'~> 3.7.4'就是[3.7.4, 3.8.0)

    参数2

    仓库地址或路径

    参数3

    标签号、提交号、分支

    • :tag => '0.1.0'
    • :branch => 'beta'
    • :commit => 'ab2sdf3ds'

    参数4

    忽略警告

    • inhibitallwarnings!

    platform

    平台

    • platform :ios/macOS/tvOS/watchOS, '9.0'

    target

    编译项目

    target "ShowsApp" do  
      pod 'ShowsKit'
      target "ShowsTV" do
        pod "ShowTVAuth"
      end
    end  
    

    use_frameworks!

    编译指定为动态库

    Pod命令

    pod install

    安装Podfile.lock中锁定的对应版本仓库

    pod update

    更新Podfile中的所有pods

    --verbose

    打印详细安装信息,与--silent对应

    --no-repo-update

    不会更新本地specs索引文件,提高速度

    开源

    .podspec

    Pod::Spec.new do |s|  
      s.name         = "iOS-Echarts"
      s.version      = "1.1.4"
      s.summary      = "A custom component for the ecomfe's echarts."
      s.homepage     = "https://github.com/Pluto-Y/iOS-Echarts"
      s.license      = { :type => "MIT", :file => 'LICENSE.md' }
      s.author       = { "PlutoY" => "kuaileainits@163.com" }
      s.platform     = :ios, "7.0"
      s.source       = { :git => "https://github.com/Pluto-Y/iOS-Echarts.git", :tag => s.version}
      s.frameworks   = 'UIKit'
      s.source_files = "iOS-Echarts/**/*.{h,m}"
      s.resource     = "iOS-Echarts/Resources/**"
      s.requires_arc = true
    s.subspec 'Security' do |ss|  
      ss.source_files = 'AFNetworking/AFSecurityPolicy.{h,m}'
      ss.public_header_files = 'AFNetworking/AFSecurityPolicy.h'
      ss.frameworks = 'Security'
    end  
    end  
    

    pod lib create xxx

    创建pod仓库xxx

    pod lib lint xxx *.podspec

    验证.podspec是否配置正确

    • --allow-warnings
    • --use-libraries(包含第三方静态库)
    • --use-frameworks(包含第三动态库)
    • --sources='xxxspec.git,xxx2spec.git'(引用了三方库)

    pod trunk push xxx.podspec

    推送到github

    pod repo push xxx xxx.podspec

    推送到私有仓库(自动推送到关联的远端)

    组件化

    pod repo add xxx xxxSpec.git

    添加远程仓库索引到本地,路径在~/.cocoapods/repos/xxx

    • 注意点:
    • 模块中不能出现循环依赖,即A依赖B,B依赖C,C依赖A的情况
    • 如果一个子模块引用,需要填写完整的模块名,如在Core模块下面有Controller模块下面有个Setting模块,并且整个库的名字为TestProj的话,则依赖的名称需要这样写s.dependency 'TestProj/Core/Controller/Setting'的形式
    • 如果出现模块特别多的情况下,在验证过程中,尽量采用--subspec=子模块名来进行一个模块一个模块验证,特别是对于如果只改动了一个模块的情况下,这里所说的字模块名也和上面一点异样,要填写完整的模块名
    • 在写私有库的过程中,尽量不用prefix header的形式,因为在分子模块的过程中很容易出现忘记引用header而出现的Error

    相关文章

      网友评论

          本文标题:CocoaPods 复习

          本文链接:https://www.haomeiwen.com/subject/ilyuzhtx.html