美文网首页
workspace组件化

workspace组件化

作者: 咚咚嗒大人 | 来源:发表于2020-03-12 14:16 被阅读0次

    一:创建功能模块
    1、首先创建文件夹,文件夹下面创建一个workspace工程,再创建4个project工程

    1__#$!@%!#__Pasted Graphic 1.png

    2、然后打开workspace文件,找到左下角的 ➕ ,
    选择“Add Files to “xxx”…, 选择添加模块的xcodeproj文件即可。


    Pasted Graphic 2.png Pasted Graphic 3.png

    TestBasis组件:
    将工具类直接拖放到TestBasis项目中,再创建TestBasis.podspec文件,引入对应的具体类,因为所有功能模块都依赖这个组件,所以pod install 后就会引入到pod中。

    二:创建项目的podspec文件

    pod spec create 《spec文件名不加后缀 》

    spec文件的格式,网上搜索查阅

    如果不同的podspec之前出现依赖关系,例如demo三个功能模块依赖TestBasis模块,写法为:
    a.dependency 'TestBasis’ #模块名
    或者依赖base具体的小模块的写法为:
    a.dependency 'TestBasis/TestBasis/BaseSDK‘ #模块名/模块别名/别名小类…

    引用Development Pods模块类:
    import 模块名 #否则无法调用

    我创建了4个spec,每个podspec文件相当于一个模块。一个基础base模块,3个功能模块

    1__#$!@%!#__Pasted Graphic.png

    为何要将功能模块单独创建一个podspec而不是在一个里面?
    因为当主项目pod子模块时,会以一个podspec文件为一个模块,如果功能模块都放在一个podspec里面,那么他们在主项目中属于在一个模块下。但是在功能模块的workspace中,功能模块是独立的在不同的模块中,这就会导致kCTMediatorParamsKeySwiftTargetModuleName 对应的value(模块名称)出现不确定的问题。

    创建好的podspec文件后,打开workspace,同导入组件的方法,将podspec导入到workspace中。

    三:创建Podfile文件
    1)终端中,cd 到项目总目录
    2)接着上一步,终端输入 vim Podfile
    3)键盘输入 i,进入编辑模式,输入
    4)输入内容:

        workspace 'ydRoute.xcworkspace' #项目包含了一个名为ydRoute的workspace
        platform :ios, '11.0'
        inhibit_all_warnings!
        use_frameworks!
        install! 'cocoapods', :deterministic_uuids => false
        source 'https://github.com/dongMan/dxjRouter.git'
        source 'https://github.com/CocoaPods/Specs.git'
        target 'TestA' do project 'TestA/TestA.xcodeproj'
                pod 'TestBasis', :path => "TestBasis.podspec" #pod ‘模块名/模块小名/模块小小名…‘, :path => “模块.podspec"
        end
    

    5)然后按Esc
    6)按住shift键的同时按住冒号键(:),然后输入wq
    7)在当前工程目录下输入 pod install
    这时候install很难一次成功,很多问题都是出在podspec引入的结构、依赖关系不对,根据提示修改。。。

    四:上传项目到git
    1、在git创建space,复制ssh地址

    2__#$!@%!#__Pasted Graphic.png

    2、打开终端,cd到项目根目录
    cd 需要上传的项目根目录

    3、初始化本地仓库
    git init

    4、添加目标文件至本地仓库
    git add .

    5、提交
    git commit -m “提交注释”

    6、关联远程仓库,其中origin后面是github上需要关联的仓库网址。
    git remote add origin ssh地址

    7、git push origin master

    以上步骤就是创建组件模块的全部,接下来再创建主工程就可以了,在主工程podfile中pod对应模块即可。

    参考文章:
    https://www.jianshu.com/p/88a6d99cf953

    相关文章

      网友评论

          本文标题:workspace组件化

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