TaillookTech

モバイルアプリ開発を追っています

Xcode 8 とSwift 3 でライブラリを作成してCocoaPodsに公開する

はじめに

最近初めてCocoaPodsにライブラリを公開するってのをやりました.
Xcode8とSwift3での資料がなかった&わかりにくかったのでここに書きます.

ディレクトリ構成

グラフを描画するライブラリを作成する.

.
├── Demo
│   ├── Demo
│   │   ├── AppDelegate.swift
│   │   └── ...
│   └── Demo.xcodeproj
├── SimpleGraphs
│   ├── Info.plist
│   ├── SimpleGraphs.h
│   └── SimpleGraphs.swift
├── .swift-version
├── SimpleGraphs.podspec
├── SimpleGraphs.xcodeproj
├── LICENSE
└── README.md

手順

GitHubリポジトリ作成

  1. 作成するライブラリの名前のリポジトリを作成
  2. ローカルのディレクトリにクローン
  3. .gitignore.swift-versionを書く
    .swift-versionは今回Swift3.0を使うので3.0と書く
  4. LICENSEを書く
    今回はMITライセンス

ライブラリのプロジェクト作成

Framework&LibraryからCocoa Touch Frameworkを選択し作成(リポジトリ直下)

DEMOプロジェクト作成

  1. SimpleGraphs.xcodeprojと同じ階層にDEMOプロジェクト作成
    今回はSingleViewApplication
  2. デモを作りながら開発するのでライブラリのSwiftファイルをデモ用プロジェクトにリンクさせる
  3. ライブラリのコードを書く
    クラスやイニシャライザはpublicやopenなどのアクセス修飾子を付ける 参考

CocoaPodsで公開

  1. terminalでpod spec create https://github.com/Taillook/SimpleGraphsを実行しpodspecを生成する.
    SimpleGraphsのpodspec
  2. git tag 0.0.1git push --tagsを実行しバージョンのタグを付ける
  3. pod trunk register example@example.com 'なまえ'を実行しCocoaPodsにユーザを登録する
    メールが届くので,リンクを開いてアクティベーションする
  4. pod trunk meでセッションを確認する
    たぶんIPかMACアドレスでセッションが管理されてるんだと思う
  5. pod trunk push SimpleGraphs.podspecで公開する
Updating spec repo `master`
Validating podspec
 -> SimpleGraphs (0.0.1)

Updating spec repo `master`

--------------------------------------------------------------------------------
 🎉  Congrats

 🚀  SimpleGraphs (0.0.1) successfully published
 📅  February 12th, 19:37
 🌎  https://cocoapods.org/pods/SimpleGraphs
 👍  Tell your friends!
--------------------------------------------------------------------------------

登録に成功したらこんな感じの出力が出る