現代のアプリ開発では、ライブラリやフレームワークをまったく使わないということはほとんどありません。
OSが提供するUIKitやSwift標準ライブラリを使用しますし、サードバーティの便利なライブラリを使用することもあります。
そして、誰もが1度はリンクエラーや重複したシンボル、パッケージマネージャが出力するエラーメッセージに悩んだことがあることでしょう。
リンクエラーの解決が難しいのは、問題の原因がプロジェクト設定、ライブラリの種類・配布方法、実行先(デバイスやシミュレータ)の環境など多岐にわたるためです。
導入したライブラリがインポートできない、リンクエラーで難しいエラーメッセージが表示されている、ビルドは成功しても起動時にクラッシュしてしまう。
誰もが一度はこのような問題に直面し、解決のために長い時間の試行錯誤をしたことがあるでしょう。
モジュールのインポート・リンクがどのように解決されるのか、リンクとはいったい何をしているのかを学ぶことで、システマチックに問題を切り分け、解決できるようになります。
この講演ではライブラリとフレームワーク、スタティックとダイナミックの違い、それぞれのメリットとデメリット、Swiftからインポートするために必要なこと
を知り、外部のライブラリがどのようにして自分のアプリから利用できるようになるかという仕組みを解説します。
リンクの仕組みを知ることで悩ましいリンクエラーを論理に解決できるようになるとともに、CocoaPods、Carthage、Swift Package Managerといったライブラリ管理ツールもより高度に使いこなせるようになります。