网上的所谓教程 好坑啊!!!
网上的所谓教程 好坑啊!!!
网上的所谓教程 好坑啊!!!
参考文章:http://www.360doc.com/content/14/0309/10/11029609_358969425.shtml
http://www.jianshu.com/p/1db5cb08e35c
流程:
1:安装cocoa pods 在这里不多说 很简单
2:创建github仓库:这里3要选public 如果是私有类库请查看创建pod私有类库 这里是public,5选项要添加一个licnece 这里我选择的MIT
3:创建仓库成功clone到本地
4:在本地刚clone下来的目录下 创建我们的项目或Demo并把我们需要上传pod的类库放到该目录下,使用Xcode编译刚创建项目(pod的类库也需要加入项目编译)
5:在该目录下创建pod spec:命令:pod spec create youname
6:编辑创建好的pod spec
很多注释用不到可以删掉
必须更改的几项:
a.版本
s.version = "0.0.1"
b.摘要
s.summary = "some category for me"
c.描述
s.description = <<-DESC
A longer description of MyExtension in Markdown format.
DESC
d.homepage以及source:github中项目路径以及github地址、这里tag可以添加个和版本号一致
s.homepage = "https://github.com/FanKangPeng/MyExtension"
s.source = { :git => "https://github.com/FanKangPeng/MyExtension.git", :tag => "0.0.1" }
e.license
s.license = "MIT"
f.platform/deployment_target
s.platform = :ios, "5.0"
s.ios.deployment_target = "5.0"
g.source_files:这个路径是本地文件中 需要打包的内容的相对于podspec的路径
s.source_files = "MyExtension/*"
h.framework/library:用到的framework/library,多个使用frameworks
s.framework = "UIKit"
#s.frameworks = "UIKit"
i.Arc
s.requires_arc = true
大概信息更改完成 就可以验证:pod lib lint
成功提示MyExtension passed validation.
验证的error:
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
pod spec中 platform/deployment_target未设置可能引起这个错误
error: include of non-modular header inside framework module 'MyExtension.NSData_FanExtension' [-Werror,-Wnon-modular-include-in-framework-module]
首先查看pod spec中framework/library是否添加、再使用pod lib lint --use-libraries 验证
- WARN | xcodebuild: /Users/FanKangpeng/Desktop/MyExtension/MyExtension/NSString+FanExtension.m:607:22: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
Xcode允许警告 可以使用--allow-warnings屏蔽掉 pod lib lint --use-libraries --allow-warnings
验证完成 把我们的项目 podspec 上传到我们的github项目 这里需要给git打上一个tag。上传完成后,最后一步 上传podspec到cocoa pods官网的仓库https://github.com/CocoaPods/Specs
上传podspec到cocoa pods官网的仓库
第一种方式:首先clone官方specs到本地 项目比较大 耐心等待...........
下载完成后 在specs目录下 创建一个文件夹目录、名字就是我们的类库名称、文件夹内再创建一个版本号的文件夹、版本号文件夹内存放我们的podspec。然后把添加的内容上传github,正常情况下,就可以pod search 了
第二种方式:trunk . 需要先注册cocoa pod 相关内容百度吧
在pod spec目录下 使用终端命令
pod trunk push MyExtension.podspec
这里还有坑!!!之前的警告 错误又来了 因为这里还要验证pod spec 所以再加上 --use-libraries --allow-warnings
提供一个Demo可以参考:https://github.com/FanKangPeng/MyExtension