【Swift】iOSライブラリの公開方法備忘
やりたいこと
1.iOS自作ライブラリを作る
2.Carthageに公開する
3.CocoaPodsに公開する
準備
Xcode 8.0
Swift3
CocoaPods 1.1.1
Carthage 0.18
iOS自作ライブラリを作る
プロジェクト新規作成
まずいつも通りXcodeから新規プロジェクトを作成していく。今回はSampleLib
という名前で作成しました。この時Cocoa Touch Frameworkを選択してください。
今回は紹介しませんがこの方法以外にもpod lib create ライブラリ名
コマンドを実行する事で対話形式でのプロジェクト作成も可能です。
デモプロジェクトを追加する
プロジェクトを新規作成したらデモプロジェクトを追加します。デモプロジェクトは先ほど作成したライブラリプロジェクトのライブラリ名.xcodeproj
ファイルと同階層に追加します。ライブラリ開発はこのデモプロジェクトでするようにします。
GitHubに公開する
自身のGitHubにここまでをpush
しておきます。ここで特別な手順は特に無いのでGitHubの使い方などは割愛します。
README
やLICENSE
なども他のライブラリなどを参考にしながら記述してみてください。
Carthageに自作ライブラリを公開する
CarthageはHomebrewとかを利用してあらかじめインストールしておいて下さい。
schemeをsharedにする
ライブラリのプロジェクトからManage Schemes...
を選択します。
schemeのsharedにチェックを入れてください。
そしてここまでをGitHubにpushしてreleaseタグをつけて下さい。
これでCarthageへの配布は完了です。
別のプロジェクトからインストールできる事が確認できると思います。
Cartfile
の記述は以下のイメージ。
github "[GitHubユーザー名]/[リポジトリ名]"
ライブラリのアップデートをする際には最新版をpush
してreleaseタグをつけていけば更新できます。
CocoaPodsに自作ライブラリを公開する
CocoaPodsでライブラリを配布する場合にはまずpodspec
というファイルが必要になります。
podspec作成
$ pod spec create https://github.com/[Githubユーザ名]/SampleLib
上記のコマンドを実行することでpodspec
のテンプレートが生成されます。
Pod::Spec.new do |s| s.name = "SampleLib" s.version = "1.0.0" s.summary = "[説明文]" s.homepage = "https://github.com/[Githubユーザ名]/SampleLib" s.license = { :type => "MIT", :file => "LICENSE" } s.author = { "[作成者名]" => "[作成者メールアドレス]" } s.social_media_url = "[SNSリンク等]" s.platform = :ios,"9.0" s.source = { :git => "https://github.com/[Githubユーザ名]/SampleLib.git", :tag => s.version } s.source_files = "SampleLib/*" s.requires_arc = true end
テンプレートの内容を修正して自身の情報を入力しておきましょう。
$ pod lib lint SampleLib.podspec
作成したpodspec
ファイルに問題がないかチェックできます。問題が発生すれば適時修正をして下さい。チェックを通過できれば次は公開です。
$ pod trunk push SampleLib.podspec
後はpod trunk push
を実行してしばらく待つと公開できます。
初回だとCocoaPods.orgにユーザー登録が必要になります。
ライブラリのアップデートしたい時にはpodspec
を更新してpod trunk push
の手順で簡単に更新が可能です。
おまけ
iOSのライブラリ公開方法でググると色々と情報がでてきたので試しにAlertViewライブラリを公開してみました。本記事はその時の備忘として書いてみたので参考になる方がいれば幸いです。