使用CocoaPods管理本地代码
一个项目要想被加入到其它项目中,大致分为以下三个步骤
- 1.创建个本地项目
- 2.把本地项目加入到本地的仓库中(git Respoitory)
- 3.创建podspec
具体操作如下:
首先 在~/desktop/DemoSdk目录下 ,创建一个项目为DemoSDK的项目,然后在此目录下 git init 初始化这个git respoitory =>git add . =>git commit -m"add new demoSdk"
现在就剩下一个podspec了 这个根据你的需要做配置
Pod::Spec.new do |s|
s.name = 'DemoSdk'
s.version = '0.0.1'
s.license = 'Commercial'
s.summary = 'DemoSdk is very beauty.'
s.homepage = 'https://example.com/'
s.author = { 'today' => '666666@qq.com' }
s.platform = :ios,"7.0"
s.source = { :git => "~/Desktop/DemoSdk" } #本地的路径
s.source_files = "DemoSdk/**/*.{h,m}" #制定需要引入的文件
s.requires_arc = true
end
对可能需要用到的参数说明下
name: 导入pod后的目录名
version: 当前版本号
deployment_target: 配置的target
prefix_header_file: 预编译头文件路径,将该文件的内容插入到Pod的pch文件内
source: 来源的具体路径,是http链接还是本地路径
requires_arc: 是否需要arc
source_files: 指定该目录下包含哪些文件
s.resource: 资源文件(xib,storyborad,.....)
其他可选参数还包括:
dependency: 指定依赖,如果依赖的库不存在或者依赖库的版本不符合要求将会报错
libraries: 指定导入的库,比如sqlite3
frameworks: 指定导入的framework
weak_frameworks: 弱链接,比如说一个项目同时兼容iOS6和iOS7,但某一个framework只在iOS7上有,这时候如果用强链接,那么在iOS7上运行就会crash,使用weak_frameworks可以避免这种情况。
写完podspec文件后使用pod spec lint验证spec是否合格,有error则需要修改
需要引入DemoSdk的项目只需要修改podfile如下
platform :ios,'7.0'
pod 'DemoSdk' , :path =>'~/desktop/DemoSdk'
path: 指定需要引入的代码的路径
最后 pod install --no-repo-update,大功告成。
小结:
- podspec: 描述项目的信息。eg:名字,版本,code地址....(说明一个要 pod 的库的配置是什么,pod的库代码放在哪里)。
- Podfile: 描述你需要使用和依赖哪些框架(项目依赖那个pod,以何种方式依赖,它的podspec在哪里)。