美文网首页
iOS 组件化-本地私有库

iOS 组件化-本地私有库

作者: 游龙飞雪 | 来源:发表于2022-05-12 11:31 被阅读0次

    CocoaPods本地私有库

    组件化-使用CocoaPods管理的本地私有库,可以分为3种

    1. 本地私有引用
    2. 本地工程嵌套
    3. 内部framework

    第一种 本地私有引用

    1. 新建项目总文件夹TestProject

    2. 在 TestProject 内部

      1. 新建主工程文件夹TestProject
      2. 新建库文件夹TestProjectLib
    3. TestProjectLib 库文件夹下

      1. 新建 Classes 文件夹,用于存放库文件
      2. 初始化 git 仓库
        $ git init
      3. 初始化 spec 文件
        $ pod spec create TestProjectLib
        执行命令则会出现一个 TestProjectLib.podspec 文件。
    4. 配置 spec 文件

      • s.name
      • s.version
      • s.summary = "TestProjectLib 对库的简单注释"
      • s.description = "xxxxx具体描述信息运用什么思想什么技术使用了xx实现了xx解决了xx取得了xx"
        或者
        s.description   = <<-DESC
                            xxxxx具体描述信息运用什么思想什么技术使用了xx实现了xx解决了xx取得了xx
                          DESC
        

      注意:description描述内容要比summary概要内容长,不然会出问题!

      • s.homepage = "http://EXAMPLE/TestProjectLib"

        • 本地库,homepage默认即可;
        • 远程库,需要配置远程地址;
      • s.licence = "MIT" 去掉(example)即可

        原始s.licence = "MIT (example)"

      • Source Location
        s.source = { :git => "", :tag => "#{spec.version}" }
        本地库将git指向地址设置为空即可。

        原始spec.source = { :git => "http://EXAMPLE/TestProjectLib.git", :tag => "#{spec.version}" }

      • Source Code

        • spec.source_files = "Classes", "Classes/**/*.{h,m}"
        • spec.exclude_files = "Classes/Exclude"
    5. 创建对应测试工程

      • 在.podspec同目录下,新建测试工程文件夹,名称为Example
      • cd到Example中,新建测试工程,名称与库名称一致即可,也可加后缀Example
    6. 在主工程中配置pod
      进入主工程TestProject文件夹,与.xcodeproj文件在同一目录下

      • 初始化Podfile文件
        $ pod init
      • 配置pod
        • 编辑Podfile,指定库的路径
          $ pod 'TestProjectLib', :path => '../TestProjectLib'
          注意: 保证本地路径的准确性
      • 安装库
        $ pod install
        安装成功
    7. 主工程中使用库
      通过.xcworkspace打开主工程,在导航区域查看文件结构

      • 如果是本地库,可以看到在 Pods - Development Pods 下看到引入的本地库 TestProjectLib;
        • 本地库会全部出现在 Development Pods 文件夹下;
      • 在主工程中,编辑库文件,会自动同步修改本地库;
    补充:使用模板自动创建一个库和对应的测试工程
    1. 创建
      $ pod lib create xxx
    2. 测试工程使用pod本地依赖的方式引入私有库来使用

    第二种 本地工程嵌套

    1. 新建主工程

    2. 在主工程文件夹下新建多个本地库工程

    3. 在主工程的导航文件系统中添加库工程文件

    4. 使用库

      1. 导入头文件,注意路径
        import "../组件02/组件02/Person.h"
      2. 可能会报一个Undefined symbol: _OBJC_CLASS_$_Person的错误。
        解决方法为
      3. 在Xcode中打开主工程,可以选择不同的scheme菜单来调试不同的库工程
    5. 缺点
      库工程也在主工程的目录下,没有在物理层很好地隔离,造成管理不便。


    第三种 内部framework

    1. 新建主工程
    2. Xcode中,选中主工程target,在target导航窗口,点击左下角加号+,选择新建framework
    3. 缺点
      库framework也是在主工程目录下,没有很好隔离。

    相关文章

      网友评论

          本文标题:iOS 组件化-本地私有库

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