コンポーネント化(第2編)


一、ローカルプライベートライブラリ方案の最適化
二、リモートプライベートライブラリ
三、リモートプライベートライブラリの使用方法
四、リモートプライベートライブラリのアップグレード
五、リモートプライベートライブラリ依存問題
六、リモートプライベートライブラリ設計の最適化

一、ローカルプライベートライブラリ方案の最適化:


問題は?
  • podspecファイルを手動で作成する必要があります.
  • はgit管理を使用していない、またはgitを手動で使用する管理と理解している、
  • .
  • はテストできません.再度手動でテストエンジニアリングを作成する必要があります.
  • 最適化案1
  • ローカルプライベートライブラリのホームディレクトリの下でテストエンジニアリングを作成します(ローカルプライベートライブラリの作成はコンポーネント化を参照してください(第1編).
  • ローカルライブラリのソースファイルをテストエンジニアリング
  • に引き出します.
  • テストエンジニアリングでローカルプライベートライブラリのソースファイルを選択し、右クリック->Show in Finderで、実際に存在するパスがローカルプライベートライブラリClassesフォルダの下にあることがわかります.このように、私たちはテストエンジニアリングで修正し、テストしました.つまり、私たちのローカルライブラリのテスト、修正が完了したことを意味します.

  • 質問:先ほどの手順を思い出して、テストエンジニアリングを作成し、Podfielファイルを作成します.ちょっと複雑ではないでしょうか.はい、では、最適化案2を見続けましょう.
  • 最適化スキーム2 pod
  • を用いる
  • 究極案
  • Podsライブラリのテンプレートライブラリを作成する:pod lib create AYBase
    テストエンジニアリングを開くと、次の図のようなPodsリポジトリコードはありません.どうやって?
    pod installでPodsリポジトリを取得します.次の図です.

    二、リモートプライベートライブラリ


    ローカルプライベートライブラリの欠点:
  • はpathを示す必要がある.ホストエンジニアリングのPodfileファイルがプライベートライブラリのパスを示しているため、ホストエンジニアリングの修理場所が変更されると、ローカルのプライベートライブラリのインストールに失敗する可能性があります.
  • バージョンのアップグレードはメンテナンスが悪い.ローカルプライベートライブラリに0.1.0と0.2.0の2つのバージョンがある場合.0.1.0をインストールしたいのですが、どうやってインストールしますか?ローカルのプライベートライブラリにtagがないため、インストールできません.
  • は多くの人が協力して開発することができません.あなたのこのライブラリは地元に置いてあるので、他の人は使えません.

  • リモートプライベートライブラリの作成:リモートは私のチームメイトもダウンロードすることができて、プライベート代表は私のチームメイトだけがダウンロードすることができて、他の人はダウンロードできません.
  • はプラットフォームcodingを利用する.net
  • プライベートインデックスライブラリAYSSpecs
  • の作成
  • ローカルインデックスライブラリpod repo add AYBaseurl
  • を作成
  • リモートプライベートライブラリ(フレームワークソースを格納)
  • を作成
  • podプライベートライブラリのテンプレートライブラリAYBase
  • を作成
  • pod lib create AYBase
  • コアコードはClassesフォルダの
  • にドラッグされます.
  • pod installインストールテスト
  • 記述ファイルの作成、spec
  • のローカル検証
  • ローカルライブラリコードをリモートウェアハウス
  • にアップロード
  • git add .
  • git commit -m "xxx"
  • git remote add origin url(ローカルライブラリとリモートライブラリを関連付け、ssh?httpsを選択するか?)
  • git push origin master
  • アップロードラベル
  • git tag'0.0.1'(記述ファイルのバージョン番号と一致)
  • git push --tags
  • リモート検証spec,pod spec lint
  • specをローカルインデックスライブラリにコミットすると、リモートインデックスライブラリに自動的にコミットされます.
  • pod repo push AYBase AYBase.podspec
  • pod seach AYBase

  • 三、リモートプライベートライブラリの使用方法

  • source'公式パス'(リモートインデックスライブラリ)
  • source'プライベートインデックスライブラリパス'(プライベートインデックスライブラリを追加)~これまで、基本的なリモートプライベートライブラリの操作が完了しました.

  • まとめ:この場合、プライベートライブラリ名、場所は勝手に変更され、使用者に影響しません.独立してテストできます.

    四、リモートプライベートライブラリのアップグレード

  • 私有ライブラリ
  • の変更
  • 基礎設定
  • Bases 、 Tools
  • プライベートライブラリをアップグレード
  • 送信コードローカル、リモート
  • 修正記述ファイルのバージョン番号
  • ラベル、リモート検証spec
  • ローカルインデックスライブラリpod repo push AYBase AYSpecをコミットします.podspec
  • テストアップグレード後のプライベートライブラリ:
  • //pod install(以前はローカルインデックスライブラリが更新されていたが、現在は更新されていない)pod update--no-repo-update(更新される)

    五、リモートプライベートライブラリ依存問題

       , , ?
    

    六、リモートプライベートライブラリ設計の最適化


    導入問題:baseライブラリが1つしか必要ありませんが、ライブラリ全体をインストールしますか?例:AYBaseにはCategory、Toolsなど(後期はもっと)がありますが、今はCategoryの機能しか必要ありません.AYBaseをインストールすると、大きすぎませんか.ソリューション:大きなインフラストラクチャをいくつかのサブライブラリに分割しますか?
    次の操作を行います.
  • 昇格s.versionバージョン番号
  • コミットコード
  • ラベル
  • specをローカルインデックスライブラリにプッシュします.

  • 脚注は脚注を生成する[1].
  • CSDNブログアドレスについては、ここを参照してください.
  • その簡書の住所については、ここを参照してください.
  • iOS開発-GitHubアドレスについては、ここ
  • を参照してください.
    ここは脚注の内容です.↩︎