LoginSignup
4
3

More than 5 years have passed since last update.

CocoaPodsとCarthageの両方に対応した自作Swiftライブラリを作る

Last updated at Posted at 2018-12-04
  • Swiftの自作ライブラリを作る
  • そのライブラリをCocoaPodsとCarthageに対応させる

以下の例ではライブラリ名をMyLibとしてます.

プロジェクトを作成する

ライブラリの開発と公開するためのプロジェクトを作成します.ファイル構成は以下のように作ります.
スクリーンショット 2018-12-04 19.52.43.png
XcodeのProjectの新規作成でCocoa Touch Frameworkを選びます.
スクリーンショット 2018-12-04 19.31.04.png
スクリーンショット 2018-12-04 19.32.11.png
ライブラリの検証のために Target Example を追加します.
スクリーンショット 2018-12-04 19.32.42.png
スクリーンショット 2018-12-04 19.33.07.png
スクリーンショット 2018-12-04 19.42.13.png
Example の General の Linked Frameworks... にて,MyLib.framework を追加します
スクリーンショット 2018-12-04 19.34.49.png
Example 内で import MyLib を読み込めば,MyLib で作成したクラスなどを実行することができます.
スクリーンショット 2018-12-04 19.44.12.png

作成したプロジェクトの MyLib でライブラリを開発して,Example 内で検証およびサンプルコードを書いていきます.開発が終わったら,プロジェクトをGithubにpushします.

Carthageを設定する

ライブラリの schemeをsharedにします(最近は最初からsharedになっている?).そして,以下のコマンドで Carthage 向けにビルドを行います.

$ carthage build --no-skip-current

その後,pushして,releaseタグを設定すれば完了です(更新時も同様).

スクリーンショット 2018-12-04 20.14.51.png

CocoaPodsを設定する

ユーザー登録を行う.このセッションの効期限はよく分からないですが公式サイトを見ると端末ごとに保存される感じでしょうか( CocoaPods Guides - Getting setup with Trunk

$ pod trunk register {email} '{name}'

ライブラリにCocoaPodsを設定する.

$ pod spec create https://github.com/{user}/{repo}

生成されたpodspecファイルを編集します

$ pod lib lint {repo}.podspec

podspecファイルの確認を行い,完了したら以下で登録します.

$ pod trunk push {repo}.podspec

更新するときは,podspecファイルのversionを書き換えて,再びpushする.

参考

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3