美文网首页
iOS 打包静态库并托管到cocopods

iOS 打包静态库并托管到cocopods

作者: 阿两sama | 来源:发表于2018-09-17 10:09 被阅读334次

    前言:因为直接发布到pod的项目都是开源的,所以需要先打包,打包之后发布就是只开放h文件的了

    一.打包静态库

    网上有两种方法,一种是手动打包,一种是用cocopods打包,我用的是第二种,因为我一开始创建项目的时候用了pod创建的。下面步骤走起

    1.创建工程

    pod lib create MytestDemo

    上面命令可以创建工程,然后会提示有问题,按自己需求填写就可以

    创建pods截图

    最后一个问题填你项目的前缀。中间三个,按我截图填写就可以。

    创建完成的工程目录

    Examle可以是项目的demo,编译完以后可以在这里测试。

    MytestDemo源程序文件,里面有Assets和Classes文件夹。Assets放置图片等资源,xib、storyboard、bundle以及db数据库文件都可以放在这里面。Classes文件里面放置源码。你也可以不用Assets和Classes只要相应修改podspec文件就可以。

    -podspec文件介绍

    MytestDemo.podspec

    2.放入源文件

    在MytestDemo/Classes中放入需要打包的文件,我放了一个简单的数量转换方法。

    需要打包的方法

    3.验证本地库

    pod lib lint MytestDemo.podspec --verbose --use-libraries --allow-warnings

    --verbose 输出详情

    --use-libraries 如果依赖库(s.dependency)包含了.a静态库通过这个这个来变验证通过

    --allow-warnings忽略警告

    注:lib验证本地库s.source可以是path。

    成功后的输出

    这个时候其实已经可以使用本地库了,可以在需要使用本地库的demo项目中通过pod集成,例子:

    pod 'MytestDemo', path: '../MytestDemo/'


    完整pod截图

    在demo中跑通就可以开始准备打包了。

    注:这个过程大家可能会遇到很多错误,这个时候error是一定要处理的,然后如果error处理完了,验证还是有错就去检查note里面有没有error,都处理完成就可以验证过了。主要就是少头文件之类的错误。有耐心就可以了。

    4.打tag

    4.1 首先去github上创建一个开源的项目

    GitHub创建项目截图

    4.2 提交源码,不需要push

    提交源码

    4.3 打tag

    git tag 0.1.0

    git push --tags

    这里的tag版本需要和之前 podspec文件中的一样

    5.打包本地库

    5.1 安装一个 CocoaPods 打包插件

    CocoaPods-Packager 安装命令如下

        sudo gem install cocoapods-packager

    这一步需要先安装brew,命令如下

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    5.2 打包库

    pod package MytestDemo.podspec --no-mangle --force


    打包后的截图

    同样可以创建demo来验证打包后的pods,不一样的是这时候demo里面已经看不到sdk中的.m文件了。

    因为我用了新的git管理打包后的pods所以有git文件之后发布也是用这个新的git。

    注:这里的podspec文件需要重新添加项目中的依赖s.frameworks和s.dependency。因为之前的依赖只用于打包,这里加的依赖是给使用sdk的人用的。

    二.发布打包完成的库

    1. 创建cocopod账号

    pod trunk register 你的邮箱地址 ‘用户名’ -verbose

    注册成功你会有一份邮件,验证一下就可以了

    pod trunk me

    查看账号信息,注册成功你可以终端看到账号信息的输出

    2. 验证待发布的库

    pod spec lint MytestDemo.podspec

    注:spec只能验证远程库,请先将打包后的工程提交到git或者svn上。lib验证本地库s.source可以是path。

    3. 发布

    pod trunk push MytestDemo.podspec --verbose --use-libraries --allow-warnings

    4. 搜索发布的库

    pod search MytestDemo


    最后写一下大文件支持

    git 大文件支持

    git lfs track “你的文件名”

    git add .gitattributes

    再重新提交一次git

    最后的最后祝大家打包顺利

    相关文章

      网友评论

          本文标题:iOS 打包静态库并托管到cocopods

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