CocoaPodsプライベートウェアハウスの作成チュートリアル
6242 ワード
CocoaPodsプライベートウェアハウスの作成チュートリアル
プライベートpodを作成するには、まずThe CocoaPods Master Repoのようなコンテナが必要です.sを使用することができます.
私たちのプライベートライブラリを追加しました.
プライベートRepoの構築方法
まず、コマンドラインのpodにどのようなCOMMANDがあるかを見てみましょう.
repoに含まれるコマンドを見てみましょう
addの下にどのような方法が含まれているかを見続けます
これにより,プライベートrepoを作成する方法(URLはgit上の倉庫であり,初期化完了)が得られた.
追加が完了したらrepoのリストを見ることができます
これで私たちはもう自分の容器を持っています.
podプライベートライブラリの作成
pod関連コマンドの表示
libのコマンドの表示
createのコマンドの表示
createを使用して独自のライブラリを構築します
コマンドの実行
次のいくつかの問題が発生します(関連する問題がなければpodをアップグレードして解決することも考えられます). What language do you want to use?? [ Swift/ObjC ] Would you like to include a demo application with your library? [ Yes/No ] Which testing frameworks will you use? [ Specta/Kiwi/None ] Possible answers are [ Specta/Kiwi/None ] Would you like to do view based testing? [ Yes/No ] What is your class prefix?
現在のディレクトリに生成されたフォルダDDTestは主にDDTestを見る.podspecファイル
ここで注意しなければならないのは、私たちのすべてのファイルが保存されている場所です.
ソースアドレスは現在のgitのアドレスでなければなりません
プライベートライブラリをパブリッシュする前にlibの正当性を検証する必要があります
検査結果を見て、警告はしばらく無視します.
検証が完了すると、プライベートpodライブラリをgitにアップロードし、タグを追加します.git', :tag => s.version.to_sはgitが対応するバージョンを見つけることができるようにします(注:すべてコミットしてからパブリッシュする必要があります)
repoにプライベートライブラリを追加
repoに関するコマンドを見てください
pushを使用してパブリッシュされていることがわかります
発生する可能性のある問題: s.versionとgit tagの一致 s.sourceアドレスが一致しない エラーメッセージなしコマンドラインを追加--verbose コマンドラインの後に追加できない警告があります--allow-warnings パブリケーションが成功したら、検証します.
プロジェクトでのプライベートライブラリの使用
プロジェクトでsourceを追加してインデックスの場所を指定する必要があります
よし、意外にも使えた~
プライベートpodを作成するには、まずThe CocoaPods Master Repoのようなコンテナが必要です.sを使用することができます.
pod 'AFNetworking'
私たちのプライベートライブラリを追加しました.
プライベートRepoの構築方法
まず、コマンドラインのpodにどのようなCOMMANDがあるかを見てみましょう.
Commands:
...
+ repo Manage spec-repositories
...
repoに含まれるコマンドを見てみましょう
+ add Add a spec repo
+ lint Validates all specs in a repo
> list List repos
+ push Push new specifications to a spec-repo
+ remove Remove a spec repo
+ update Update a spec repo
addの下にどのような方法が含まれているかを見続けます
$ pod repo add NAME URL [BRANCH]
これにより,プライベートrepoを作成する方法(URLはgit上の倉庫であり,初期化完了)が得られた.
pod repo add DDRepo https://github.com/dingdingtion/Specs
追加が完了したらrepoのリストを見ることができます
pod repo list
DDRepo
- Type: git (master)
- URL: https://github.com/dingdingtion/Specs.git
- Path: /Users/dingding/.cocoapods/repos/DDRepo
これで私たちはもう自分の容器を持っています.
podプライベートライブラリの作成
pod関連コマンドの表示
+ lib Develop pods
libのコマンドの表示
+ create Creates a new Pod
+ lint Validates a Pod
createのコマンドの表示
$ pod lib create NAME
createを使用して独自のライブラリを構築します
コマンドの実行
pod lib create DDTest
次のいくつかの問題が発生します(関連する問題がなければpodをアップグレードして解決することも考えられます).
現在のディレクトリに生成されたフォルダDDTestは主にDDTestを見る.podspecファイル
1 #
2 # Be sure to run `pod lib lint DDTest.podspec' to ensure this is a
3 # valid spec before submitting.
4 #
5 # Any lines starting with a # are optional, but their use is encouraged
6 # To learn more about a Podspec see http://guides.cocoapods.org/syntax/podsp ec.html
7 #
8
9 Pod::Spec.new do |s|
10 s.name = 'DDTest'
11 s.version = '0.0.1' /// ,
12 s.summary = 'A short description of DDTest.'
13
14 # This description is used to generate tags and improve search results.
15 # * Think: What does it do? Why did you write it? What is the focus?
16 # * Try to keep it short, snappy and to the point.
17 # * Write the description between the DESC delimiters below.
18 # * Finally, don't worry about the indent, CocoaPods strips it!
19
20 s.description = < 'MIT', :file => 'LICENSE' }
27 s.author = { '******@qq.com' => '132******@wo.com.cn' }
28 s.source = { :git => 'https://github.com/******@qq.com/DDTest .git', :tag => s.version.to_s }
29 # s.social_media_url = 'https://twitter.com/'
30
31 s.ios.deployment_target = '8.0'
32
33 s.source_files = 'DDTest/Classes/**/*'
34
35 # s.resource_bundles = {
36 # 'DDTest' => ['DDTest/Assets/*.png']
37 # }
38
39 # s.public_header_files = 'Pod/Classes/**/*.h'
40 # s.frameworks = 'UIKit', 'MapKit' ///
41 # s.dependency 'AFNetworking', '~> 2.3' ///
42 end
ここで注意しなければならないのは、私たちのすべてのファイルが保存されている場所です.
33 s.source_files = 'DDTest/Classes/**/*'
ソースアドレスは現在のgitのアドレスでなければなりません
28 s.source = { :git => 'https://github.com/******@qq.com/DDTest .git', :tag => s.version.to_s }
プライベートライブラリをパブリッシュする前にlibの正当性を検証する必要があります
pod lib lint
--silent Show nothing
--verbose Show more debugging information
--no-ansi Show output without ANSI codes
--help Show help banner of specified command
検査結果を見て、警告はしばらく無視します.
➜ DDTest git:(master) pod lib lint
-> DDTest
-> DDTest (0.1.0)
- WARN | summary: The summary is not meaningful.
- WARN | url: The URL (https://github.com/***@qq.com/DDTest) is not reachable.
検証が完了すると、プライベートpodライブラリをgitにアップロードし、タグを追加します.git', :tag => s.version.to_sはgitが対応するバージョンを見つけることができるようにします(注:すべてコミットしてからパブリッシュする必要があります)
git tag '0.0.1' /// s.version
git push --tags
repoにプライベートライブラリを追加
repoに関するコマンドを見てください
pod repo --help
Usage:
$ pod repo [COMMAND]
Manage spec-repositories
Commands:
+ add Add a spec repo
+ lint Validates all specs in a repo
> list List repos
+ push Push new specifications to a spec-repo
+ remove Remove a spec repo
+ update Update a spec repo
pushを使用してパブリッシュされていることがわかります
$ pod repo push REPO [NAME.podspec]
pod repo push DDRepo DDTest.podspec --allow-warnings
--allow-warnings Allows pushing even if there are warnings
--verbose Show more debugging information
発生する可能性のある問題:
pod search 'DDTest'
-> DDTest (0.0.1)
A short description of DDTest.
pod 'DDTest', '~> 0.0.1'
- Homepage: https://github.com/***@qq.com/DDTest
- Source: https://github.com/dingdingtion/DDTest.git
- Versions: 0.0.1 [DDRepo repo]
プロジェクトでのプライベートライブラリの使用
プロジェクトでsourceを追加してインデックスの場所を指定する必要があります
source 'https://github.com/CocoaPods/Specs.git'
source 'https://github.com/dingdingtion/Specs.git'
pod 'DDTest', '~> 0.0.1'
よし、意外にも使えた~