美文网首页
pod 建立私有库

pod 建立私有库

作者: ouxuesen | 来源:发表于2016-09-29 17:28 被阅读0次

1.使用工具及版本

 xcode 8.0   cocoapods 1.1.0.rc.2 (现在属于bate版)  

如果现在使用的的xcode 8.0 而cocoapods 版本较低 会报错:

xcodebuild: error:'App.xcworkspace'doesnotexist. ->PodPrivatelibraries (0.1.0)    - ERROR | [iOS] xcodebuild: Returned an unsuccessfulexitcode.    - NOTE  | [iOS] xcodebuild:  xcodebuild: error:'App.xcworkspace'doesnotexist.

解决方法  pod update --pre 

检测pod 版本 gem list 如果 cocoapods 1.1.0.bate 请查看 gem source -l 可能是淘宝影像。 如果有条件的可以翻墙使用 --pre 是测试版本

source地址不同结果显示cocoapods版本会有差别

✗ gem sources--removehttps://ruby.taobao.org/source

✗ gem sources -a https://rubygems.org/source

✗ gem update --pre

2.创建私有库

(1).准备两个gitHUb的 仓库 一个 用于储存版本管理  一个是用于创建私有库

1.https://ouxuesen@github.com/ouxuesen/PodPrivatelibraries.git

2.https://ouxuesen@github.com/ouxuesen/PodPrivatelibrariesTest.git

创建本地库 pod lib create PodPrivatelibraries 根据提示创建

修改工程下的.podspec文件,如

# Be sure to run `pod lib lint PodPrivatelibraries.podspec' to ensure this is a

# valid spec before submitting.

#

# Any lines starting with a # are optional, but their use is encouraged

# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html

#

Pod::Spec.new do |s|

s.name            = 'PodPrivatelibraries'

s.version          = '0.1.0'

s.summary          = 'ou xue sen'

s.description      = <<-DESC

TODO: Add long description of the pod here.

DESC

s.homepage        = 'https://github.com/ouxuesen/PodPrivatelibraries'

# s.screenshots    = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'

s.license          = { :type => 'MIT', :file => 'LICENSE' }

s.author          = { 'ouxuesen' => 'ouxuesen@le.com' }

s.source          = { :git => 'https://github.com/ouxuesen/PodPrivatelibraries.git', :tag => s.version.to_s }

s.ios.deployment_target = '8.0'

s.source_files = 'PodPrivatelibraries/Classes/**/*.{h,m}'

s.resource_bundles = {

'MyPodBundle' => ['PodPrivatelibraries/Classes/**/*.xib']

}

end

验看本地库是否成功

进入到 Example目录下更新pod    pod update

验证 .podspec文件的合法性 进入.podspec文件所在目录

pod lib lint  或者pod --verbose lib lint 或者 pod --no-clear lib lint

输出 PodPrivatelibraries.podspec passed validation.  表示验证成功  有error 的提示按照提示一般去做都没什么太大问题

验证远程库

pod spec lint

验证成功后推送工程到github给工具库打tag(和podspec中的版本保持一致)

创建私有库 创建成功 会在~/.cocoapod/repo目录下看到PodPrivatelibrariesTest的空白文件夹

pod repo add testSpecs https://ouxuesen@github.com/ouxuesen/PodPrivatelibrariesTest.git

私用库中添加工具库

pod repo push testSpecs PodPrivatelibrariesTest.podspec

以后每次 版本变更 或者修改都可以使用该方法 私有库的更新

测试其是否可用

建立一个普通的工程命名为TestPodFrameworkDemo,在目录下添加podfile文件,添加pod 'YohunlUtilsPod'

$ pod init  建立podfile文件

修改文件podfile内容为下

target 'TestPodFrameworkDemo' do

pod 'PodPrivatelibrariesTest'

end

执行

$ pod install

这个时候,得到提示

Updating local specs repositories

Analyzing dependencies

[!] Unable to find a specification for `PodPrivatelibraries (~> 0.1.0)`

其实是这样的,如果你不指定的话,pod install只会在master下搜索有没有,而我们的spec文件在yohunlSpecs下面,当然找不到了!

source 'https://github.com/CocoaPods/Specs.git'  #官方仓库的地址

source 'https://github.com/ouxuesen/PodPrivatelibrariesTest.git'

target "DemoPod" do

pod 'PodPrivatelibraries', '~> 0.1.0'

end

默认情况下,如果你不添加source的话,系统会默认使用https://github.com/CocoaPods/Specs.git官方源,但是当你添加了source后,系统就不再自动搜索 官方源,所以这两句都必须添加!!!!!

相关文章

网友评论

      本文标题:pod 建立私有库

      本文链接:https://www.haomeiwen.com/subject/jrvkyttx.html