美文网首页iOS学习开发iOS开发iOS学习笔记
【iOS】利用CocoaPods创建私有库进行组件化开发

【iOS】利用CocoaPods创建私有库进行组件化开发

作者: x_code | 来源:发表于2018-05-03 17:05 被阅读125次

    之前使用CocoaPods管理过第三方库,前面也有翻译文章介绍过CocoaPods的配置方法,随着项目越来越大,很多公司会使用CocoaPods进行组件化开发,下面利用一个demo介绍一下。

    什么是库

    先说下什么是库,库分为静态库和动态库两种:

    • 1、动态库是在运行时实时部署,而静态库必须在编译时连接到代码。
    • 2、动态库加载到内存可以重复使用,而静态库每次import都要引用一次。
    • 3、自定义的动态库只能部署在iOS8以上系统。
      库有三种格式:
    • 1、.a:纯代码静态库
    • 2、.dylib:纯代码动态库
    .a和.dylib
    • 3、.framework:可以包含资源,代码和资源。可以包含静态库和动态库。

    创建一个库

    1、创建framework:


    创建framework

    2、随便建一个类


    创建一个类

    3、在创建的类里面添加两个方法调试用


    添加方法

    4、在默认创建的类里面导入头文件


    导入头文件

    5、然后我们看看Build Active Architecture Only 这个值。这个属性设置为yes,是为了debug的时候编译速度更快,它只编译当前的architecture版本。而设置为no时,会编译所有的版本。所以,一般debug的时候可以选择设置为yes,release的时候要改为no,以适应不同设备。很多第三方库都是这样设置的。

    Build Active Architecture Only

    6、把头文件公开,其他人可以引用到


    公开头文件

    7、在github上创建一个仓库,把刚才的工程push上去

    8、创建podspec文件


    创建podspec文件 创建好了

    9、配置podspec文件文件,具体教学可以看https://guides.cocoapods.org/syntax/podspec.htmlhttps://segmentfault.com/a/1190000012269307这两个网址

    Pod::Spec.new do |spec|
    spec.name         = 'nickCocoaPodsFrameWork'
    spec.version      = '0.0.1'
    spec.license      = 'MIT'
    spec.homepage     = 'https://github.com/tonymillion/Reachability'
    spec.authors            = { "nickzc" => "chaokuzc@icloud.com" }
    spec.summary      = '组件开发实验'
    spec.source       = { :git =>     'https://github.com/nickzc/nickCocoaPodsFrameWork.git', :tag => '0.0.1' }
    spec.source_files = 'nickCocoaPodsFrameWork/**/*.{h,m}'
    spec.platform    = :ios
    end
    

    10、验证podspec文件:

    pod spec lint xl_test.podspec --allow-warnings
    

    如果报错了就去查询错误原因。

    11、新建一个程序,用cocoaPods安装我们刚才写的库:
    (1)执行 pod init命令
    (2)profile文件添加刚才建的库

    # Uncomment the next line to define a global platform for your project
     platform :ios, '8.0'
    
    target 'TestCocoaPods' do
    
        pod 'nickCocoaPodsFrameWork', :git => 'https://github.com/nickzc/nickCocoaPodsFrameWork.git'
    
    end
    

    (3)pod install --no-repo-update
    pod update --no-repo-update

    12、完成。

    刚才自己写的framework的地址:https://github.com/nickzc/nickCocoaPodsFrameWork.git

    相关文章

      网友评论

        本文标题:【iOS】利用CocoaPods创建私有库进行组件化开发

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