zoukankan      html  css  js  c++  java
  • 配置自己的CocoaPods库

    默认安装的cocoapods确实很好用,可是毕竟自己会写一些库和修改一些第三方库来用。所幸cocoapods确实是一个神器。他可以定义自己的库来用。
    如何安装Cocoapods,请参考这篇

    从头来设置

    应用场景

    我的boss写了一个基于MagicalRecord的CoreData的iCloud设置的类。也许我们以后要用到的机会毕竟多。单独拿出来成为一个库。现在用cocoapods来做成一个静态库。 我们这个库基于外部的MagicalRecord和SVProgressHUD.这两个库是用git submodule的方法来管理的

    第一步把代码托管到一个支持git的服务器

    我选择了bitbucket.因为没钱买github。

    第二步删除git submodule

    git submodule虽然也可以实现第三方库的管理,但是相对于cocoapods来说太麻烦了。删除就不是想cocoapods这样在Podfile里面删除配置就好的。

    先删掉目录

    1
    2
    3
    
    $git rm --cached Vendor/MagicalRecord 
    $git rm --cached Vendor/SVProgressHUD
    $rm -rf Vendor
    

    删掉.gitmodules

    1
    
    $rm .gitmodules
    

    修改.git/config

    把MagicalRecord和SVProgressHUD的条目删除

    最后commit一下

    1
    2
    
    $ git add .
    $ git commit -m "Remove a submodule"
    

    第三步为原来的项目添加cocoapods支持

    先把项目里面引用submodule的地方删除

    添加Podfile到项目目录里面

    内容为

    1
    2
    3
    
    platform :ios,  '6.0'
    pod 'MagicalRecord', :git => 'https://github.com/iiiyu/MagicalRecord.git', :tag => 'sumiGridDiary2.1'
    pod 'SVProgressHUD'
    

    解释一下:
    第一行后面是限制模拟器版本为6.0以上。
    第二行因为MagicalRecord我们改了几行代码,因此用我们自己的版本。指定git地址。和tag标签。除了tag还可以指定branch和commit。格式一样
    第三行用官方的最新版本

    安装Pod

    1
    
    $pod install
    

    我的安装结束以后提示

    1
    2
    3
    
    [!] The target `SIStore [Debug - Release]' overrides the `HEADER_SEARCH_PATHS' build setting defined in `Pods/Pods.xcconfig'.
        - Use the `$(inherited)' flag, or
        - Remove the build settings from the target.
    

    按照提示修改项目的Build Settings就ok了。

    进入项目中把之前是包入“”的第三方头文件地方改为<>

    添加.gitignore

    .gitignore内容为

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    *.xcodeproj/*
    !*.xcodeproj/project.pbxproj
    build
    .DS_Store
    ._*
    .svn
    *.xcworkspace
    Pods
    Podfile.lock
    

    打完收工。

    这样就之前的库就可以跑在cocoapods的配置下了

    第四步创建自己的Podspec文件

    初始化一个Podspec文件

    1
    
    $pod spec create SIStore
    

    SIStore.podspec内容如下

     
  • 相关阅读:
    Spring实现声明式事务
    Spring整合MyBatis
    Spring AOP
    代理模式
    Bean的作用域
    Spring的配置
    HQL题目记录以及解题思路--持续更新
    数仓学习之路一:数仓理论
    DBeaver连接Hive遇到的坑
    MySQL常见面试题
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879397.html
Copyright © 2011-2022 走看看