码迷,mamicode.com
首页 > 其他好文 > 详细

cocoapods 使用

时间:2015-06-27 11:31:42      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

安装

显示当前源

$gem sources -l

国内ruby无法访问,删除https://rubygems.org/源

$gem sources --remove https://rubygems.org/

添加淘宝ruby源

$gem sources -a http://ruby.taobao.rog/

更新rubygem自身

sudo gem update --system

安装cocoapods

sudo gem install cocoapods

初始化cocoapods(--verbose表示显示详情)

pod setup --verbose

查看cocoapods版本

pod --version

在Xcode所建工程目录下(与DemoProject.xcodeproj统计)建立Podfile文件

pod init

所建文件样式大概是这样

source ‘https://github.com/CocoaPods/Specs.git‘
# Uncomment this line to define a global platform for your project
platform :ios, ‘7.0‘
# use_frameworks!

target ‘DemoProject’ do

pod ‘AFNetworking’

end

target ‘DemoProjectTests‘ do

pod ‘AFNetworking’

end

说明:

source ‘https://github.com/CocoaPods/Specs.git‘不是自动建立的,需要自行添加

在相应的target-end中添加对应的库,可以带版本号,pod ‘AFNetworking‘, ‘~> 2.5.4‘

platform :ios, ‘7.0‘表示最低支持7.0,如果需求的某个库仅从8.0开始支持,那么将安装失败

# use_frameworks!:#代表注释此行,user_frameworks!表示将依赖的库编译为framworks(Xcode6+),而不是静态库libxx.a

多个target使用相同的库

link_with ‘Target0’, ‘Target1’
platform : ios
pod ‘Reachability‘, ‘~>3.0.0‘
platform : iOS, ‘7.0‘
pod ‘AFNetworking‘, ‘~>2.0‘

使用cocodpods搜索已收录的第三方库

pod search ‘AFNetworking‘

-> AFNetworking (2.5.4)

   A delightful iOS and OS X networking framework.

   pod ‘AFNetworking‘, ‘~> 2.5.4‘

   - Homepage: https://github.com/AFNetworking/AFNetworking

   - Source:   https://github.com/AFNetworking/AFNetworking.git

   - Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0,

   2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0,

   2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1,

   1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2,

   0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]

   - Subspecs:

     - AFNetworking/Serialization (2.5.4)

     - AFNetworking/Security (2.5.4)

     - AFNetworking/Reachability (2.5.4)

     - AFNetworking/NSURLConnection (2.5.4)

     - AFNetworking/NSURLSession (2.5.4)

     - AFNetworking/UIKit (2.5.4)

添加好Podfile文件之后,安装(由于国内网络原因,添加--no-repo-update取消本地repo信息更新,加快安装)

pod install --verbose --no-repo-update

如果以后添加了新的库,则使用

pod update --verbose --no-repo-update

等待完成后,在工程目录下打开DemoProject.xcworkspace。完成安装。

[待更新:使用库的全部、使用部分、排除部分]

与git配合使用

安装完cocoapods及相关第三方文件后,在工程目录下,大概包含一下几项:

DemoProject/

DemoProject.xcodeproj

DemoProject.xcworkspace

DemoProjectTests/

Podfile

Podfile.lock

Pods/

Pods/文件夹中包含了第三方库的代码及相关配置信息等,可以不包含在版本管理中(重新下载即可)。

Podfile.lock的作用是保存已安装的依赖库的版本。大概如下:

PODS:

  - EDHexColor (0.0.1)

  - FXBlurView (1.6.3)

  - MMMaterialDesignSpinner (0.2.0)

  - MZAppearance (1.1.5)

  - MZFormSheetController (3.0.3):

    - MZAppearance

    - MZFormSheetController/Core (= 3.0.3)

  - MZFormSheetController/Core (3.0.3):

    - MZAppearance

  - UCZProgressView (1.0.1)

 

DEPENDENCIES:

  - EDHexColor

  - FXBlurView

  - MMMaterialDesignSpinner

  - MZFormSheetController

  - UCZProgressView

 

SPEC CHECKSUMS:

  EDHexColor: ce087ec4fcb33a03270ec0dab858c4c28e887b68

  FXBlurView: c6d23f3d35af2c6282296a2930f61c6e2c788d01

  MMMaterialDesignSpinner: 8f1a50270b789c76ec500957e518fc3e05e55b9d

  MZAppearance: 6e9dc64e42074c0a19812a327f590746c3283bab

  MZFormSheetController: 36771856696eeef2eaec9b18c75791d3c95cb661

  UCZProgressView: 32fa5c572ff1300bf22553c8286600d9ae42f50f

 

COCOAPODS: 0.36.3

主要用于多人开发中,A生成的Podfile.lock,B下载后,只需再执行一遍pod install即可与A的依赖库及版本相同。

如果没有此文件,则B会得到最新版本的依赖库,造成团队代码不一致。因此可以把此文件放入版本管理中。

建立git时,.gitignore文件参考github.com自动生成的文件,如下

# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
#Pods/

[待更新:建立自己的cocoapods库(1.到cocoapods中;2.不到cocoapods中)]

删除cocapods

删除文件:Podfile、Podfile.lock、Pods文件夹、xcworkspace
删除设置:打开xcodeproj,删除frameworks下的Pods.xcconfig、libPods.a引用
删除工程设置Build Phases中的cocoapods相关条目。

遇到的问题:

1.遇到无限"Seting up CocoaPods master repo"时,进入到~/.cocoapods/repos/master,不断使用命令du -sh *来查看Specs文件夹大小,可以知道是否正在更新。

2.安装cocoapods时遇到pod setup --verbose 之后无限等待,报错

git pull on repo ‘master‘,
/user/bin/git pull --ff-only
可以尝试删除master repo
sudo rm -fr ~/.cocoapods/repos/master
之后重新pod setup
3.引入三方库找不到头文件
Target->BuildSetting->Search Paths->User Header Search Paths添加
${SRCROOT} - recursive

 

cocoapods 使用

标签:

原文地址:http://www.cnblogs.com/bitCoder/p/4603592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!