SwiftyNote

主にSwiftな技術ブログ

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のQuickNimbleがインストールされます。

続いてプロジェクト内に移動しpodspecファイルを編集しDeploymentTargetを必要に応じて変更します。例えば主要機能がiOS9以上でしか使えない機能などの場合にはiOS9にします。これによりターゲットは縮みますが#availableやフォールバックを実装しなくても良くなるので開発がしやすいでしょう。

それが終わったらPodで作成したプロジェクトをXCode9で開き、ExamplePodの各SchemeBuild settingsからLanguageをSwift4に変更します。

ここまでできたら一度Option + CleanBuildができることを確認し、その後ソースファイルの初期ディレクトリである/Classes/ReplaceMe.swiftを削除します。

次にClassesがあった場所にSourcesまたはプロジェクト名ディレクトリをXCode上でNew Groupで作成します。(XCode9からNew Groupは参照ではなく実際のディレクトリを追加してくれる仕様に変わりましたので今までのようにディレクトリ作成後に参照を追加する必要はありません)

後は作成したディレクトリ内に適当な.swiftファイルを置き(ディレクトリ内にファイルが1つもない場合にはXCode上で無視されてしまうため)下記のコマンドで無事終了です。

git commit -a git push -u origin master