序
默认安装的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内容如下