Contents
SPMで自社ライブラリを公開する手順とXcode統合方法
Swift Package Manager (SPM) を使用して自社ライブラリを開発・公開することは、iOS/Android開発におけるモジュール管理の基本スキルです。この記事では、SPMでのライブラリ公開手順やXcodeでのインテグレーション方法といった実務で求められる具体的な内容に焦点を当てて解説します。特に「GitHubとの連携」「バージョン管理」「CI/CDの連携」といったテーマを網羅し、実際のワークフローに即した構成となっています。
準備段階:プロジェクトと環境設定
パッケージ作成前のチェックリスト
以下の準備を行うことで、後述する手順をスムーズに進められます。
- Swiftバージョン確認
- 現在の最新バージョンは
swift --versionで確認(例: Swift 5.9)。 - GitHubアカウント準備
- パッケージ公開用にリポジトリを作成する必要があります。
- Xcode環境整備
- SPMパッケージのインテグレーションテストに必要です。
注意:
swift-tools-version:5.9は最新バージョンではありません。最新バージョンを記載してください。
実装手順:Package.swiftとライブラリ構築
Package.swiftファイルの作成方法
Package.swiftはパッケージの核となる設定ファイルです。以下が基本構文です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// swift-tools-version:5.10 import PackageDescription let package = Package( name: "**MyLibrary**", products: [ .library(name: "MyLibrary", targets: ["MyLibrary"]), ], dependencies: [], targets: [ .target(name: "MyLibrary"), ] ) |
ライブラリ構築のポイント
- name:
**my-library**(スネークケース)で記述。ユニーク性を確保。 - products/targets一貫性: 同じ名前で設定し、エラー回避。
プラットフォーム対応とバージョン制約指定
iOSバージョンの指定方法
SPMではターゲットプラットフォームを明示できます。以下が記述例です。
|
1 2 3 4 5 6 7 |
targets: [ .target( name: "MyLibrary", platforms: [.iOS(.v17)] ), ] |
| プラットフォーム | サポートバージョン | 記述例 |
|---|---|---|
| iOS | 17以上 | .iOS(.v17) |
| macOS | 14以上 | .macOS(.v14) |
| watchOS | 9.0以上 | .watchOS(.v9) |
重要: 複数バージョンをサポートする場合、
platformsに複数オプションを記述します。
GitHubへの公開フローとバージョン管理の統合
公開手順とリリース管理
GitHubへのパッケージ公開は以下のように進めます。
- リポジトリ作成
-
New repositoryからリポジトリを作成し、Package.swiftをアップロード。 -
バージョンタグの設定
- リリース時にタグ(例:
v1.0.0)を追加し、GitHub上で公開。
GitHub Workflowの自動化例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
name: Release on: push: tags: - 'v*.*.*' jobs: build: runs-on: macOS-latest steps: - uses: actions/checkout@v3 - name: Swift Package Test run: swift test |
Xcodeへの統合方法と依存関係管理
SPMパッケージをXcodeに追加する手順
- プロジェクトを開き、
File > Swift Packages > Add Package Dependencyを選択。 - GitHubリポジトリURLを入力し、「Next」を押下。
- バージョン指定(例:
1.0.0)を行い、「Add Package」をクリック。
依存関係の自動ダウンロード確認
- SPMが自動でパッケージをダウンロード・コンパイルします。
- Xcodeの
Project Navigatorから正しくインポートされているか確認。
パッケージ公開後の運用と企業向け拡張
CI/CD連携とセキュリティ対策
自社ライブラリを開発後は、以下の点を検討することが推奨されます。
- CI/CD連携: GitHub ActionsやJenkinsで自動テスト・ビルドを実施。
- セキュリティ対策: パッケージの依存関係スキャンツール(例: Swift Package Scanning)を導入。
リリースノート作成ガイドライン
各バージョンごとにREADME.mdに以下を記録:
- 変更内容(新機能・不具合修正)。
- 影響範囲(APIの互換性有無)。
- サンプルコードと使用例。
まとめ
自社ライブラリをSPMで公開するには、準備段階からの手順が重要です。この記事では「ライブラリ作成」「GitHub公開」「Xcode統合」「CI/CD連携」に至るまでの一連の流れを解説しました。特に企業向け開発では、セキュリティと効率的な運用がカギとなります。