美文网首页
iOS 组件化笔记01

iOS 组件化笔记01

作者: 达若漠沙 | 来源:发表于2018-06-30 19:12 被阅读5次

    组件化课程笔记

    多人开发的时候,没有必要吧pods文件夹的东西传过去;

    pod install与pod update有什么区别?

    pod install是参照podfle.lock文件,里面有详细的版本约束

    pod update 是参照 Podfile 去安装依赖,里面可能没有进行版本约束,

    1、如果某个第三方更新了,那么有可能代码里的方法被弃用了,导致编译错误。

    cocopods  安装第三方库的原理

    1、pod setup 将远程索引库拷贝到本地;

    2、本地使用pod search  搜索一个库比如搜索AFNetworking 

    3、本地索引库里有一个索引目录文件,通过这个文件,找到了AFNetworking的索引文件,

    4、通过AFNetWorking里的源码地址,安装第三方库

    开发一个框架给别人用,需要哪些步骤

    1、自己写框架源码

    2、本地新建一个描述文件

    3、把源码上传至远程地址

    4、把描述文件传到远程索引库里

    添加远程仓库

    git remote add origin https://github.com/daruo/PodTest02.git

    常用命令

    添加tag和删除tag

    git log  //查看提价记录

    git tag  //查看tag

    git tag  -a‘0.0.1’-m  ‘第一个tag’    //新建本地tag方法1 -a添加tag    -m  mster分支    本地添加tag

    git push  —tags    //将tag  推送到远端仓库

    git tag‘0.0.2’    //新建本地tag方法2

    git push origin 0.0.2  //将代码推送到远端并,并将此次记录标记为0.0.2

    删除tag  删除某个已新建的tag

    git tag -d 0.0.1  //删除本地0.0.1 tag

    git push origin  :0.0.1  //删除远程0.0.1tag  注意在版本号前加:

    创建spec

    pod spec create  xxxlib

    s.name    =“XXXLib”

    s.version    =  “0.0.1”

    s.summaray =

    git  init  初始化本地仓库

    git status 查看文件变更状态  红色 工作区有变更 绿色  变更文件添加到暂存区

    git commit -m‘变更描述’  提交到本地master分支

    git push origin master      推送到远端master分支

    创建仓库描述文件

    pod  spec create  podTestLib

    修改

    s.summary

    s.description

    s.source

    s.source_file  需要包含的资源文件 仓库地址文件 那里可以下载  起一个过滤的作用,不会安装到工程里去

    git tag '0.0.1'  新增本地tag

    git push --tags  将本地tag推送到远端

    //将本地spec文件传到 

    cocoapods trunk

    pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'   

    pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'  —verbose  //  加上—verbose之后终端会显示答应信息

    最终执行的命令,修改了

    pod trunk register daruo258@163.com 'Daruo' --verbose

    //修改为自己的可用邮箱

    最终可以看到这样一个页面

    [!]Please verify the session by clicking the link in the verification email that has been sent to daruo258@163.com

    注册spec成功

    将本地spec 提交到远程

    pod trunk push podTestLib.podspec

    执行此命令后,会更新本地索引库 ,这个时间有点长。随后会对新建的spec文件进行格式验证,

    第一次验证的时候,提示

     -> podTestLib(0.0.1)

        - ERROR | license: Sample license type. 

        - WARN  | homepage: The homepage has not been updated from default

        - ERROR | source: The Git source still contains the example URL.

        - WARN  | summary: The summary is not meaningful.

        - ERROR | description: The description is empty.

        - WARN  | url: There was a problem validating the URLhttp://EXAMPLE/podTest

    原因如下,spec文件没有上传到远程仓库导致license homepage source summary description url都为默认。而默认值都是无法找到正常配置信息的。

    pod repo  指定路径

    pod 'TestLib',:path => '../TestLib'

    pod install的过程

    先找 .xcodeproj文件,然后再去找资源(第三方)路径

    ../  是返回到上级文件夹

    本地库如何进行版本管理?

    cd  TestLib  进入本地源文件

    git add .将修改添加入缓存区

    git commit -m‘更新了xxx’  提交本次修改

    git push  推送  实际推送不成功,但是还是要推送。

    2018年06月27日09:51:11第三课

    组件化的方式

    1、工程导入工程,编译要很久。  要把导入的文件的.m在compile soruce 中引入

    2、使用framework的形式。  +  新建framework

    3、远程私有库  码云

    3.1创建码云库Spec  记录ssh地址

    git@gitee.com:daruo258/Spec.git

    pod repo add Spec git@gitee.com:daruo258/Spec.git  //添加索引库源  (本地,远程都可以)

    git@gitee.com:daruo258/Spec.git是一个ssh地址 

    会提示没有权限

    ssh-keygen -t rsa -C  “daruo258@163.com”  //生成一个公钥

    输入自定义公钥密码,可以为空

    cat id_rsa_Spec          查看id_ras_Spec私钥 

    cat id_rsa_Spec.pub  查看id_ras_Spec_pub公钥 

    .ssh  路径  user/daruo/.ssh

    ssh -Tgit@gitee.com  检测是否有ssh权限

    如果是denied,可能是公钥没有添加到know_hosts里

    ssh-add -k id_rsa_Spec  //将id_rsa_Spec添加到know_host里

    //删除索引源

    pod  repo  remove  Spec  //删除Spec索引库

    //克隆远程ssh仓库地址

    git clone git@gitee.com:daruo258/Spec.git

    码云配置个人个人公钥

    https://gitee.com/profile/sshkeys  添加公钥  在这里添加的公钥拥有读写权限

    如果在某个仓库的管理页面设置部署公钥,那么只有clone 和pull  操作的权限,只是只读。

    相关文章

      网友评论

          本文标题:iOS 组件化笔记01

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