iOSプロジェクトをライブラリとして出す手順とPR方法
概要
実験的に作ってみた稚作ライブラリ SwiftyVerticalScrollBar をライブラリとしてリリースする際に行った事
開発
- はじめからリリース用のレポジトリの中で実装を行っていく事も考えられますが、主要の機能ができるまで開発は別のレポジトリで作成しました。
- テストは主要機能を中心に薄く広く書くべきですが、今回はUI系かつUIControlのサブクラスという非常にUIテストがしづらいのでパスしました。
CocoaPods登録準備
下記2つの記事を参考にCocoaPods登録の準備をしました。
- 【Swift】CocoaPodsに自作ライブラリを登録
- iOS向けのライブラリをCocoaPodsで配布する
pod lib create ライブラリ名
でリリース用プロジェクト作成- コミットログはなるべく汚さないようにリリース用のレポジトリとしてGithubへpush
travis設定
traivsで設定, build=>pass の状態にします。
https://travis-ci.org/ へアクセスしてsign in with Github
左メニューの My Repositories の + ボタンをクリック
公開したいレポジトリのスイッチをonにする
前の画面に戻るとレポジトリが増えているので選択
右の方にある More options
をクリックしてBuild only if .travis.yml is present
をon
に、travis.yml
が無いとCIが走らないように設定する
これでレポジトリにpushするたびCIが走る
travis.ymlの設定する際のコツ
masterのコミットログをtravis.yml設定のための悪戦苦闘で埋めないために別ブランチで作業し、完了したらgit merge --squash
でmasterへマージする。
CocoaPodで公開
- traivsは build=>pass の状態なっているのでREADMEのバッジを確認を行う。
- もろもろREADMEの整理
- ローカルで動作確認 ※Swift だと Publicつけないと動かなかったりする
pod spec lint Hoge.podspec
コマンドでpodspecのバリデーションpod trunk push Hoge.podspec
CocoaPodsへ公開
PR先
今回はCocoa Controlsでの登録しか実行しておりませんが、以下のような方法が考えられます
- Cocoa Controlsに登録
- 審査は順番
- 今何番目かはログインして右上メニューのsubmited controlのQueue positionで確認できる
- iOS Cookies に submitする
- twitterのハッシュタグ「#iosdev」等 でつぶやく
- その中で使ったコアな技術解説をベースにqiitaに関連記事をまとめる
- awesome-swiftの基準を満たすことを目指す。
- iOS関連のslackに投げてみる