$ pod spec create MyViewExtension<这个名称通常和建立的项目名称同样就能够>
Pod::Spec.new do |s|
# 项目的名称
s.name = "MyViewExtension"
# 项目的版本号,经过项目git的tag标签进行对应,这里的标签表明的版本
s.version = "0.0.1"
# 项目简单的描述信息
s.summary = "Just Testing."
# 项目的详细描述信息,注意,这里的文字的长度,必定要比上面的s.summary长,否则会认为格式不合格
s.description = <<-DESC
this project provide all kind of KeychainDeviceID for iOS developer
DESC
# 项目的网页主页信息,这里能够直接写本身的远程仓库的主页的地址
s.homepage = "https://github.com/RunOfTheSnail/MyViewExtension"
# 开源协议
s.license = "MIT"
# 做者信息
s.author = { "zhangyan" => "17***24@163.com" }
# 这个比较重要,指的就是git的对应的远程仓库的地址以及版本号,版本号直接获取的是上面的s.version
# 项目地址,这里不支持ssh的地址,验证不经过,只支持HTTP和HTTPS,最好使用HTTPS
# Supported Keys:
# :git => :tag, :branch, :commit, :submodules
# :svn => :folder, :tag, :revision
# :hg => :revision
# :http => :flatten, :type, :sha256, :sha1
s.source = { :git => "https://github.com/RunOfTheSnail/MyViewExtension.git", :tag => s.version }
# 支持的平台及版本
s.platform = :ios, "11.0"
# 支持的ios最低版本
s.ios.deployment_target = "7.0"
# 若是是 Swift 的话指定 Swift 编译版本
# s.swift_version = "4.0"
# 必备项,代码源文件地址,若是有多个目录下则用逗号分开,不然"public_header_files"等不可用
s.source_files = "GSLXYKeychainDeviceID/KeychainDeviceID/**/*.{h,m}"
# 公开头文件地址
# s.public_header_files = "Pod/Classes/**/*.h"
# 所需的系统framework,多个用逗号隔开,不须要后缀名
# s.framework = "SomeFramework"
s.frameworks = "UIKit", "AnotherFramework"
# 须要弱连接的框架
# s.weak_framework = "Twitter"
# s.weak_frameworks = "Twitter", "SafariServices"
#项目依赖的库文件(这个是系统的库文件),不须要后缀名,好比sqlite,libz等.以lib开头的须要省略掉lib这三个字母.例如:libz须要简写为z不然报错
# s.library = "iconv"
# s.libraries = "iconv", "xml2"
# 第三方或本身建立的 .Framework的名称
# s.vendored_frameworks = "YostarLib.framework"
# 第三方或本身建立的 .a静态库的名称
# s.vendored_libraries = "libYostarStaticLib.a"
# 添加资源文件
# s.resource = "XXX/XXXX/**/*.bundle"
# s.resources = "XXX/XXXX/**/*.bundle"
# CocoaPods会把这个库配置成static framework,同时支持Swift和Objective-C
# s.static_framework = true
# 依赖关系,该项目所依赖的其余,当在加载的时候也会一块把相关的依赖的库加载下来,若是有多个须要填写多个
# s.dependency "JSONKit", "~> 1.4"
# 是否使用ARC,若是指定具体文件,则具体的文件使用ARC
s.requires_arc = true
# 指定项目配置,如HEADER_SEARCH_PATHS、OTHER_LDFLAGS等
# s.xcconfig = {"OTHER_LDFLAGS" => "-ObjC"}
end
复制代码
$ pod lib lint
完整lint格式
$ pod lib lint --allow-warnings --use-libraries --verbose --no-clean --sources='http://10.11.180.29/mobileDevelopers/YZT-Loan-Pod-Spec.git'
--verbose:打印错误
--allow-warnings:容许警告,默认有警告的podspec会验证失败
--fail-fast:遇到错误立刻中止,默认会完成全过程再中止
--use-libraries:若是本身私有库包含library,引用了.a、.framework,在验证和提交时须要加
--no-clean:检查问题
--sources:若是依赖了其余不包含在官方specs里的pod,则用它来指明源,好比依赖了某个私有库。多个值以逗号分隔
复制代码
$ pod trunk register zy_iOS2163.com 'zy' --description='macbook air' --verbose
你注册的时候须要替换邮箱和名字,加上 --verbose 能够看到详细信息,而后你会收到一份邮件,须要点击验证
$ pod trunk me
查看注册信息是否注册成功
$ pod trunk add-owner JLC kyle@163.com(即:pod trunk add-owner 库名 邮箱)
移除某个管理员 $ pod trunk remove-owner TTLockSDK 邮箱地址(即:pod trunk remove-owner 库名 邮箱)
$ pod trunk info TTLockSDK
查看库当前状态,版本,全部人等 5.4. 在提交 spec 文件前,若是发布的是 Swift 框架,须要指定 Swift 的版本,不然会报错,执行$ echo "4.0" > .swift-version
便可指定版本为 4.0 5.5. 执行命令,将 .podspec push到cocopods的trunk中 $ pod trunk push MyViewExtension.podspec
$ pod search SGExtension
若是没有搜到,可能就是本地仓库没有更新$ pod repo update
再次执行$ pod search SGExtension
$ rm ~/Library/Caches/CocoaPods/search_index.json
这句话是移除已经生成的搜索目录缓存文件,移除以后,执行pod search会从新生成一份最新的缓存列表$ open ~/.cocoapods/repos
#CocoaPods官方spec仓库
source 'https://github.com/CocoaPods/Specs.git'
#本身私有spec仓库
source 'https://github.com/wenmobo/WBSpecs.git'
platform :ios, '8.0'
target 'TestDemo' do
#防Crash库
pod 'WBAvoidCrash'
end
复制代码
编辑好podfile文件以后,终端执行:html
$ pod install 安装时使用,更新库使用update命令
或
$ pod update 更新时使用
复制代码
$ pod trunk delete TTLockSDK 2.6.4(即:pod trunk delete 库名 版本号)
$ pod trunk deprecate TTLockSDK(即:pod trunk deprecate 库名)
确认时,回复一个"y"(小写字母 y)~/Library/Caches/CocoaPods/Pods/Release
目录)$ pod cache list
,会列出全部本地已经缓存的第三方库,在终端中输入$ pod cache clean AAA
会删除AAA缓存库,使用$ pod cache clean --all
清除全部缓存附:个人博客地址ios