发布cocoapods

安装cocoapods

$ sudo gem install cocoapods

搜索库

$ pod search wechat

在git先新建一个repo

license的各大描述

cd 到当前目前下,并把相应的SDK commit上去

创建podspec

$ pod spec creat PodName

编辑podspec

 

Pod::Spec.new do |s|

 

  s.name         = "MagicWindowSDK"

  s.version      = "3.66.02"

  s.summary      = "MagicWindowSDK for Cocoapods convenience."

  s.homepage     = "http://magicwindow.cn/"

  s.license      = "MIT"

  s.author       = { "MagicWindow" => "support@magicwindow.cn" }

  s.source       = { :git => "https://github.com/magicwindow/mw-iossdk.git", :tag => "#{s.version}" }

  s.platform     = :ios, "7.0"

  s.source_files = "MagicWindowSDK/*.{h,m}"

  s.public_header_files = "MagicWindowSDK/*.h"

  s.resource     = "MagicWindowSDK/MagicWindow.bundle"

  s.preserve_paths = "MagicWindowSDK/libMagicWindowSDK.a"

  s.vendored_libraries = "MagicWindowSDK/libMagicWindowSDK.a"

  s.requires_arc = true

  s.xcconfig = {

    'LIBRARY_SEARCH_PATHS' => '"$(PODS_ROOT)/MagicWindowSDK/MagicWindowSDK"',

    'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/MagicWindowSDK/MagicWindowSDK"'

  }

  s.frameworks = "AdSupport","CoreTelephony","CoreGraphics","CoreFoundation","SystemConfiguration","CoreLocation"

  s.libraries = "z","sqlite3.0"

  s.dependency "libWeChatSDK"

 

end

 

name:pod的名字,与工程名保持一致

version :不是工程的版本号,而是打的tag名字

license:与在新建repo的时候一致

requires_arc:是否支持arc

push podspec 到git

 

注册trunk帐号

$ pod trunk register 你的邮箱 '用户名'

然后你会收到一封邮件,点击确认

*其实你可以把这当成是在注册一台设备,而不是一个用户账号。

查询注册信息

$ pod trunk me

验证podspec文件的合法性

$ pod spec lint

或者用pod spec lint --verbose 可以看到执行的步骤

以上的命令执行后,不能有任何的error 和 warning,否则后面有会出现问题

将podspec push到cocoapods上

$ pod trunk push PodName.podspec

更新pod库

$ pod setup

删除已经发布的版本号

$ pod trunk delete PodName 3.2.1 

添加其他人共同维护某库

$ pod trunk add-owner 公共库名 已注册trunk的邮箱地址

移除某个维护人员

$ pod trunk remove-owner 公共库名 已注册trunk的邮箱地址

------------------------------------------------------------------------------------

小贴士:

1.当trunk push后,pod search查找了一下,如果没有找到,使用setup进行库更新,然后再搜索即可

$ pod setup

2.如果setup进行库更新的时候,遇到CocoaPods was not able to update the`master`这样的错误,删除缓存,再setup即可

$ rm -fr ~/.cocoapods/repos/master

$ pod setup

 

3.开源发布之后,需要打上tag,否则pod trunk会失败

 

4.pod第三方库的时候,默认使用的是最大的tag,所以如果pod trunk的时候使用的tag比原来的小,那么pod默认使用的还是原来的版本

比如:old tag:1.33.9,new tag:1.6 ,这时默认使用的还是1.33.9的第三方库

 

5.[!] The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 2.3, run: 
    `echo "2.3" > .swift-version`.

解决方案:

$  echo "3.0" > .swift-version

 

6.

- ERROR | [iOS] unknown: Encountered an unknown error(The 'Pods-App' target has transitive dependencies that include static binaries:(/private/var/folders/pr/g9hyr71x4xb50hs2hplpxdd40000gq/T/CocoaPods/Lint/Pods/XXX/xxx.a and /private/var/folders/pr/g9hyr71x4xb50hs2hplpxdd40000gq/T/CocoaPods/Lint/Pods/WechatOpenSDK/OpenSDK1.8.0/libWeChatSDK.a)

错误原因是依赖库包含了静态库.a。虽然这个不影响pod的使用,但是在验证的时候是无法通过的

解决方案:

 

$ pod spec lint --verbose xxx.podspec --use-libraries

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值