Swift Package Manager
Swift Packagesは、Appleの新しいファーストパーティツールで、ソフトウェア依存関係を管理します。従来、Capacitorは内部およびプラグインの依存関係を管理するためにCocoapodsを使用していましたが、今こそサポートされているソリューションに移行する時です。
Capacitor 6では、CocoapodsまたはSwift Package Manager(SPM)のどちらかを選択できるようになりました。現在のほとんどのcapacitor-teamサポートプラグインはSPMをサポートしており、特にcapacitor-pluginsのプラグインが該当します。
SPMを使用するためにCapacitorの作業方法を大きく変更する必要がないように最善を尽くしましたが、いくつか理解しておくべきことがあります。
仕組み
CapacitorプロジェクトがSPMを使用している場合、すべてのプロジェクト依存関係を参照する場所として「Base SPM」パッケージを使用します。
Capacitor CLIは、新しいプラグインを同期するときにCapAPP-SPMパッケージを変更します。ここに含まれる内容には触れないようにすることが重要です。CLIは変更を加える可能性があります。
新しいCapacitorプロジェクトでSPMを使用する
まず、通常のnpm init @capacitor/app
から始めます。
次に、iOSプラットフォームをプロジェクトに追加します。
npm install @capacitor/ios
次に、ウェブプロジェクトをビルドします。
npm run build
完了したら、iOSプロジェクトを追加します。通常の追加コマンドに--packagemanager SPM
オプションを追加する必要があります。
npx cap add ios --packagemanager SPM
これで、npx cap open ios
を使用してiOSプロジェクトを開き、そこからアプリを実行できます。
SPMを使用してCapacitorプラグインを追加および使用する
このプロジェクトにプラグインを追加し、そのプラグインを使用してみましょう。
まず、Capacitor Appプラグインをインストールします。
npm install @capacitor/app
次に、ウェブアプリを同期します。これにより、AppプラグインSPMがiOSプロジェクトに追加されます。
npx cap sync
You can now use the App plugin normally.
More details coming soon
Converting existing plugins to SPM
More details soon, but check this repository out: https://github.com/ionic-team/capacitor-plugin-converter
トラブルシューティング
プラグインを追加した後、Xcodeで「パッケージキャッシュをリセット」してみてください。