• Use CocoaPods for Packages Management in Xcode


    CocoaPods是Objective-C项目中最好用的第三方依赖包管理工具。

    官网:
    http://www.cocoapods.org/

    项目地址:
    https://github.com/CocoaPods/CocoaPods

    什么是第三方依赖包?

    现代项目开发中,总有些类库会帮我们节约很多时间,软件也就变成了积木似的类库组装。使用这些第三方的类库时,有些问题需要考虑,如这些类库的存放位置,是存在本地,还是在一个统一的服务器?如类库的版本,如何保证线上运行时使用正确版本的库?

    XCode中,通常将一个库的项目拖到当前项目中来使用。像AFNetworking,JSONKit,但这样都有上面所说的问题。

    在Java项目中,通常使用Meavn来管理,.NET下由有NuGet,Ruby下则是著名的RubyGem,而Objective-C中,现在有了CocoaPods。

    CocoaPods是如何做的?

    CocoaPods是使用Ruby来进行开发的,本质上只是为创建另一个叫libPods的项目,里面包含所有第三方包的源码,统一编译到一个Lib中,然后将该项目和源项目统一放到一个WorkSpace下。

    CocoaPods还为我们做了第三方包的统一管理。这些包被放在Spec项目下https://github.com/CocoaPods/Specs,每个人都可以把好的库做成Spec,并提交到该项目中,这样就可以使用CocoaPods来管理了。

    CocoaPods安装和使用

    因为CocoaPods是使用Ruby开发,所以要求机器必须有Ruby环境,但不用担心,Mac上默认是有的。

    1
    2
    
    $ [sudo] gem install cocoapods
    $ pod setup

    Pods的安装,就是将Spec项目复制到当前用户的.cocoapods\master目录下,以后的查找、安装使用都是基本该本地目录的。

    安装成功后,就可以尝试使用了,试着用Search来看你需要的Package是否存在。

    1
    2
    3
    4
    5
    6
    
    $ pod search jsonkit
    --> JSONKit (1.4, 1.5pre)
        A Very High Performance Objective-C JSON Library.
        - Homepage: https://github.com/johnezang/JSONKit
        - Source:   git://github.com/johnezang/JSONKit.git

    以上显示JSONKit在CocoaPods中有两个版本,1.4和1.5pre,cocoapods介绍完成之后,接下来看如何在项目中使用。

    配置新的项目

    Pods通过一个名为Podfile的文件来配置项目中所需要的第三库。创建如下文件。

    1
    
    $ edit Podfile

    内容:

    1
    2
    
    platform :ios
    pod 'JSONKit',       '~> 1.5pre'

    这里如果不指定包的版本,则默认使用最新版。

    然后,在项目目录下,进行安装。

    1
    2
    3
    4
    5
    6
    7
    
    $ pod install
    Updating spec repo `master'
    Installing JSONKit (1.5pre)
    Generating support files
    [!] From now on use `HelloWorld.xcworkspace'.
    -> Integrating `libPods.a' into target `HelloWorld' of Xcode project `HelloWorld.xcodeproj'.

    Pods自动创建一个libPod的项目,并生成一个同名的XCode workspace,以后就要通过该workspace来打开项目了。项目打开如下。

    libPods被作为framework集成到目标项目。
    Pods.xcconfig 中配置了XCode编译的查找路径,通过这种方式将所有的第三方包来引入到项目中。

    1
    2
    
    PODS_BUILD_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/BuildHeaders" "${PODS_ROOT}/BuildHeaders/JSONKit"
    PODS_PUBLIC_HEADERS_SEARCH_PATHS = "${PODS_ROOT}/Headers" "${PODS_ROOT}/Headers/JSONKit"

    如需要添加更多的依赖包,只需要在Podfile中加入,然后运行pod install即可。

    Spec

    简单的说,Spec就是每个包在CocoaPods中的配置文件,其中包括Package的名字,版本号,每个版本对应的下载地址,编译时的参数。等等。

    这是该项目的地址,https://github.com/CocoaPods/Specs,在页面上有介绍如何创新新的包,可以Fork该项目,然后通过pull request提交所建的新包。

    原文链接:http://blog.zhiming.me/

  • 相关阅读:
    实验四——多分支结构及本章总结
    实验五——循环结构学习总结
    实验12——指针的基础应用 2
    实验11——指针的基础应用
    实验十——一维数组的定义及引用
    实验九——基本数据类型存储及应用总结
    实验八——函数定义及调用总结
    实验七——函数定义及调用总结
    实验六——循环结构程序练习总结
    实验五——循环结构学习总结
  • 原文地址:https://www.cnblogs.com/dragonstreak_1/p/2730979.html
Copyright © 2020-2023  润新知