CocoapodsでSwift4対応ライブラリの作成手順
Cocoapods
でライブラリを作成するときにデフォルトではSwift3のバージョンで作成されてしまうので、iOS11やXCode9(Swift4)の機能を使ったライブラリを作成したいときの手順を書き残しておきたいと思います。(ローカルの手順なのライブラリのリポジトリは事前にGithub上でNew repository
作成しておいてください)
まずライブラリの作成は以下のコマンドで対話式で作成することができます。
pod lib create ライブラリ名
What language do you want to use?? [ Swift / ObjC ]
Swift
Would you like to include a demo application with your library? [ Yes / No ]
Yes
Which testing frameworks will you use? [ Quick / None ]
None
Would you like to do view based testing? [ Yes / No ]
No
テストフレームワークはあとから追加で全然大丈夫ですb もしここでQuickを選択すると自動でSwift3のQuick
とNimble
がインストールされます。
続いてプロジェクト内に移動しpodspec
ファイルを編集しDeploymentTarget
を必要に応じて変更します。例えば主要機能がiOS9以上でしか使えない機能などの場合にはiOS9にします。これによりターゲットは縮みますが#available
やフォールバックを実装しなくても良くなるので開発がしやすいでしょう。
それが終わったらPod
で作成したプロジェクトをXCode9で開き、Example
とPod
の各SchemeのBuild settings
からLanguage
をSwift4に変更します。
ここまでできたら一度Option + Clean
→ Build
ができることを確認し、その後ソースファイルの初期ディレクトリである/Classes/ReplaceMe.swift
を削除します。
次にClasses
があった場所にSources
またはプロジェクト名
のディレクトリをXCode上でNew Group
で作成します。(XCode9からNew Group
は参照ではなく実際のディレクトリを追加してくれる仕様に変わりましたので今までのようにディレクトリ作成後に参照を追加する必要はありません)
後は作成したディレクトリ内に適当な.swift
ファイルを置き(ディレクトリ内にファイルが1つもない場合にはXCode上で無視されてしまうため)下記のコマンドで無事終了です。
git commit -a
git push -u origin master