iOS私有库制作(一)

作者: Mi_Manchi_ | 来源:发表于2023-06-20 09:34 被阅读0次

    一、创建一个空的私有库项目gitHub地址,用于存放私有库项目。gitHub 下创建一个空的repository,这里起名SBAIPractice,不勾选README.md 等。

    image.png

    创建后:

    image.png

    2.创建私有库 SBAIPractice,到自己的想要放pod项目的目录下,执行如下命令创建私有库:

    pod lib create SBAIPractice

    依次回答如下问题:

    最后一个为你的项目类名前缀

    image.png image.png

    3.关联第一步中创建的空git

    由于pod lib创建pod工程时默认已经准备了LICENSE、README.md、.gitignore三个文件,若在github上创建新建空白项目pod时勾选了这三个文件,则git pull时会产生冲突。解决方式:将pod工程目录下与github项目冲突的文件删除。

    此外,pod项目目录下默认准备了.git仓库,关联时不用重新git init。

    cd到pod项目目录下

    image.png

    执行:

    git add .

    git commit -m "first commit"

    git branch -M main

    git remote add origin https://github.com/Manchitor/SBAIPractice.git

    git push -u origin main

    git push 有时会报错超时,多试几次。

    image.png

    第一步创建的空项目刷新会看到已经关联成功了

    image.png

    二、配置Pods工程的.podspec文件。主要是s.version、s.summary、s.source的编辑。

    SBAIPractice.podspec的内容如下:

    image.png

    s.name :pod search 搜索的关键词,注意这里一定要和.podspec的名称一样

    s.version :版本号,每一个版本对应一个tag

    s.summary : 简介

    s.homepage : 项目主页地址

    s.license : 许可证

    s.author : 作者

    s.social_media_url : 社交网址

    s.source : 项目的地址

    s.source_files : 需要包含的源文件

    s.resources: 资源文件

    s.requires_arc : 是否支持ARC

    s.dependency :依赖库

    s.ios.deployment_target = ‘10.0' : 支持的pod最低版本

    s.source_files = ‘pod_test/Classes//’,这里表示匹配所有子目录,表示匹配所有文件。

    修改后SBAIPractice.podspec后,cd到Example文件夹下执行pod install。检查是否设置正确。

    代码更新后先关闭workspace,一定要执行:pod install 来更新,更新完需要重新打开workspace。

    1.打标签,推送到远程。重点:tag打的版本号必须和podspec中的s.version值相同

    CocoaPods进行仓库版本管理时,就是通过.podspec文件中s.version的值到git远程仓库上找与之相同的tag标签的版本。

    这里将s.version改为: s.version = ‘1.0.0'

    git add .

    git commit -m '设置podspec文件为1.0.0'

    git push -u origin main

    git tag 1.0.0

    git push —tags

    查看所有tag内容:git tag -l -n

    image.png

    gitHub中效果为:

    image.png

    2.验证.podspec文件的格式是否正确,必须打完tag才能验证,且必须验证,否则后面执行pod repo push或pod trunk push一定失败。

    cd到SBAIPractice目录,执行命令

    //--allow-warnings:加上该选项,验证时如果有警告会忽略警告,否则无法验证通过

    //--use-libraries:如果依赖了静态库就需要加上该选项

    pod spec lint --allow-warnings --use-libraries

    pod lib lint pod_test.podspec --allow-warnings --use-libraries

    //如果失败,报超时,可多试几次

    image.png

    三、将本地的podspec文件推送到远程索引库中。

    1.创建一个空的git仓库用于存放podSpec。如第一步。这里起名为SBAIPracticeSpec。git地址为:https://github.com/Manchitor/SBAIPracticeSpec.git

    2.本地创建一个存放podspec的目录,可随意。本文这里与SBAIPractice同级别。

    image.png

    3.本地目录关联git,cd到SBAIPracticeSpec下后一次执行如下命令,注意替换git地址。

    git add .

    git commit -m "first commit"

    git branch -M main

    git remote add origin https://github.com/Manchitor/SBAIPracticeSpec.git

    git push -u origin main

    4.创建本地索引

    pod repo add SBAIPracticeSpec https://github.com/Manchitor/SBAIPracticeSpec.git

    那么在路径~/.cocoapods/repos下就会有SBAIPracticeSpec本地仓库。

    image.png

    5.将索引push到远程索引仓库

    到SBAIPractice.podspec所在的目录下。

    pod repo push SBAIPracticeSpec SBAIPractice.podspec --allow-warnings --use-libraries

    push成功会打印"Adding the spec to the `mySpecs’ repo”。

    image.png

    之后mySpecs本地仓库里面多了pod_test库的索引(也就是pod_test.podspec),同时会push同步到https://github.com/Manchitor/SBAIPracticeSpec.git

    如下图

    image.png

    回到本地目录SBAIPracticeSpec 下。pull一下。

    image.png

    本地目录如下图:

    image.png

    6.试试效果

    pod search ’SBAIPractice’

    出现如下图:

    image.png

    到现在已经完成,

    四、试试

    随便找一个工程,修改podfile

    image.png

    终端执行pod install

    image.png

    回到项目会发现 已经引入了。


    图片.png

    注:下一章,讲述为私有库添加第三方及创建代码文件。

    相关文章

      网友评论

        本文标题:iOS私有库制作(一)

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