美文网首页
使用Pod管理项目组件,从封装WKWebView与JS交互功能组

使用Pod管理项目组件,从封装WKWebView与JS交互功能组

作者: Cralyon | 来源:发表于2019-11-20 17:49 被阅读0次

一、组件化

   在开发过程中,随着项目进行下去,代码量增加,有时候为了UI、功能的统一性产生了继承关系,代码维护是个比较令人头疼的问题,而组件化能很好的解决这个问题。

二、使用Pod管理组件

  就像我们在iOS项目中使用第三方一样,我们从Cocoapod中导入发布到其上的第三方工具。我们借助cocoapod,可以搭建自己项目的工具中心。

1.搭建组件管理中心

在Mac环境,首先确认已经安装ruby、cocoapods、xcode,首先在GitHub中建一个空项目(将获得一个项目地址,用于后面的方法调用),然后在本地建立一个管理中心:

$ pod repo add NAME URL [BRANCH]

如:pod repo add kimSpecs https://github.com/Cralyoniii/kimSpecs.git

执行完成后如图1:在根目录下可以看到新建的本地仓库(command+shift+.可查看隐藏文件)

图1

2.搭建功能组件

$ pod lib create NAME

如:pod lib create CYWebJS ,注意此命令将在当前目录下创建项目

执行完后如图2(请根据配置选择):

图2

创建完成后,打开项目根目录,如图3(Example是已经完善的):

图3

其中CYWebJS文件中,新建组件会有Assets、Classes这两个文件,不喜可删,本人也是使用自己的目录结构的,这里修改后,涉及到CYWebJS.podspec文件的编写。比如我的目录是这样的(如图4):

图4

所以,我的podSpec文件配置(如图5)(homepage和source都是比较重要的,如果需要发布到组件管理中心):

图5

  在Example目录下是针对这个功能组件的demo,写有Podfile文件,重新pod install即可导入CYWebJS(如图6)

图6

当然我们如果搭建比较复杂的功能组件,可以有比较复杂的编写规则,生成的目录结构也不同,有时间会写(可以在网上找到相应的文章)。

功能组件代码完成后记得将其更新到GitHub中,此时有两种使用方式,

a.如果不发布到个人组件管理中心,可以使用在Podfile中直接指定组件的路径,比如:

pod 'CYWebJS', :git=> 'https://github.com/Cralyoniii/CYWebJS.git'

b.发布到个人组件管理中心首先将需要发布的组件打tag,指定版本号,比如这里初始化0.0.1

进入项目podsepc文件的目录下,在terminal中使用命令:

b.1 验证组件:$ pod lib lint [PODSPEC_PATHS ...]

如:pod lib lint --sources=https://github.com/Cralyoniii/kimSpecs.git,https://github.com/CocoaPods/Specs.git --allow-warnings

结果如图7:

图7

b2.发布到组件中心:$ pod repo push REPO [NAME.podspec]

如:pod repo push kimSpecs CYWebJS.podspec --sources=https://github.com/Cralyoniii/kimSpecs.git,https://github.com/CocoaPods/Specs.git --allow-warnings

结果如图8:

图8

三、使用新组件的两种方式:

1.在项目的Podfile中指定路径:

如:pod 'CYWebJS', :git=> 'https://github.com/Cralyoniii/CYWebJS.git'

2.在项目的Podfile中指定组件中心的路径。

如:source 'https://github.com/Cralyoniii/kimSpecs.git'

source 'https://github.com/CocoaPods/Specs.git'

pod 'CYWebJS'

CYWebJS项目中封装了WK基本的使用,仅供参考

kimSpecs为上述文章的组件管理中心。

相关文章

网友评论

      本文标题:使用Pod管理项目组件,从封装WKWebView与JS交互功能组

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