#14 Swiftで学ぶ外部ライブラリの基本

Swiftの外部ライブラリは、「Swift Package Manager」という公式ツールを使って管理するのが現在の主流です。この記事では、Swiftにおける外部ライブラリの使い方の基本と、以前から使われているCocoaPodsとの違いを解説します。

Swift Package Managerを使う

Xcode上でライブラリを追加したい場合は、メニューの「File」→「Add Package Dependencies...」からパッケージのURLを指定するだけで導入できます。導入後は、必要なファイルで`import`するだけで使えるようになります。

import Alamofire AF.request("https://example.com").response { response in print(response) }

コマンドラインツールなど、Xcodeプロジェクトを使わない場合は、`Package.swift`というファイルに直接依存関係を書く方法もあります。

dependencies: [ .package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.8.0") ]

`from: "5.8.0"`のように書くと、「5.8.0以上、次のメジャーバージョン未満」という範囲でバージョンが自動的に選ばれます。特定のバージョンに固定したい場合は`.exact("5.8.0")`、ブランチを追いたい場合は`.branch("main")`のように指定方法を使い分けられます。

CocoaPodsという以前からある方法

Swift Package Managerが登場する前は、「CocoaPods」という別のツールが広く使われていました。歴史のあるプロジェクトでは、今もこの方法が使われていることがあります。CocoaPodsでは、プロジェクト直下に`Podfile`というファイルを作り、そこに使いたいライブラリを列挙してから`pod install`コマンドを実行します。

pod 'Alamofire', '~> 5.8'

CocoaPodsを導入すると、`.xcodeproj`ではなく`.xcworkspace`というファイルを開いて作業する必要がある点が、Swift Package Managerとの大きな違いです。誤って`.xcodeproj`の方を開いてしまうと、ライブラリが見つからないエラーになることがあるため注意しましょう。

Swiftならではの注意点

Swiftのライブラリ管理には、Swift Package ManagerとCocoaPodsという2つの主要な方法が存在します。参加するプロジェクトがどちらを採用しているかによって、ライブラリの追加方法が変わるため、最初に確認しておきましょう。両方が併用されているプロジェクトも存在しますが、新規に個人でアプリを作る場合は、Xcodeに標準で統合されているSwift Package Managerだけで完結させる方がシンプルで、導入のトラブルも少なくて済みます。

まとめ

Swiftの外部ライブラリは、現在はSwift Package Managerが主流で、Xcodeのメニューから直接追加できる手軽さが特徴です。CocoaPodsという以前からある方法もあり、`.xcworkspace`を開く点が大きな違いであることも覚えておきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本