Swift Package Manager(以下Swift PM)はXcodeに統合された公式のパッケージマネージャーです。
CocoaPodsやCarthageのように、他の方が作ったライブラリを導入・管理することができます。
しかし、Swift PMが管轄するのはライブラリに留まりません。
Xcodeと組み合わせることにより、アプリのプロジェクト構成を柔軟に変更することができます。
特別なツールを利用することはありません。これまで開発者を苦しめていたXcodeプロジェクトファイルのコンフリクトを解消するだけでなく、
マルチモジュールにおけるFrameworkの参照やリンクといった、手動で設定するには面倒な項目も簡単にセットアップできます。
このトークでは、まず、Swift PMをまだ利用したことがない方に向けてSwift PMの基本的な事柄をお話しし、Swift PMでのライブラリ管理をお手元のプロジェクトで利用できるようにします。
次に、Swift PMをアプリ開発のプロジェクトに導入することで、Assetsやローカライズファイルを含むほとんどのソースコードの管理をSwift Packageに移管する方法をお話しし、Xcode Projectの責務を軽くします。
そうして身軽になったXcode Projectを、今度は複数作ってみて、マルチプロジェクト・マルチモジュールな構成を実現します。
この構成により得られる素敵な特典と移行のやり方についてもお話しし、明日からみなさんのプロジェクト構成をアップデートしてもらうことを目指します。
皆さんも開発をしていて端末間のデータ同期システムが必要になったことはありませんか。
この発表ではオフライン編集可能なテキストエディタのバックエンドとして作った、テキストファイル同期システムの設計やその構成、開発環境についてお話しします。
同期システムはiOS / Android / WebだけではなくWindowsなどのデスクトップOSへの展開も見据え、iCloudに依らない実装が必要でした。また作成するアプリの特性上、同期の仕組みをユーザーに十分説明できるように同期の仕組みを全て実装することにしました。