iOSアプリを開発する際、ライブラリやフレームワークを使わないということはほとんどありません。 OSが提供するUIKitやSwift標準ライブラリを使いますし、サードバーティの便利なライブラリを使用することもあります。
そして、誰もが1度はリンクエラーや重複したシンボル、パッケージマネージャが出力するエラーメッセージに悩んだことがあることでしょう。 リンクエラーの解決が難しいのは、問題の原因がプロジェクト設定、ライブラリの種類・配布方法、実行先(デバイスやシミュレータ)の環境など多岐にわたるためです。
リンクとは何か、何が起こっているのかを学ぶことでその問題は解決できるようになります。
このセッションではLibraryとFramework、StaticとDynamicの違い、それぞれのメリットとデメリット、SwiftからImportするために必要なことを知り、外部のライブラリがどのようにして自分のアプリから利用できるようになるかという仕組みを解説します。
Swiftが外部フレームワークやライブラリをどのようにインポートするか、様々な解決の仕方を話したいと思います
Embeded Libraryに指定するだけ?
ビルドタイムなのかランタイムなのか
フレームワークにはバンドルがあるがライブラリにはない
静的か動的か、バンドルが歩かないかで説明しました
ほとんどのフレームワークはモジュールを含みます
モジュールをもたないライブラリ
ブリッジングヘッダかモジュールマップを使う
ブリッジングヘッダは簡単
でもモジュールマップを常に使うのがおすすめです。
Swiftが見つけられるように親ディレクトリをインポートパスに指定
これらはLinkerに必要になります
Dynamic
エラーが出ています。なにかモジュールマップでおかしい。ヘッダファイルが見つからないことを意味します。
モジュールマップ、ヘッダーサーチパスが正しいか確認してください
ライブラリのリンクを貼る際になにか問題に直面したときにお役に立てれば