Capacitor 8 upgrade — Step A (keep CocoaPods)

Bump to Capacitor 8 while staying on CocoaPods (decouples the major-version bump
from the SPM switch, per the verified plan). Changes:
- mobile/package.json: all @capacitor/* + @capacitor-community/safe-area + cli → ^8.0.0
  (safe-area 8.0.1 verified Cap 8 compatible; @capacitor/assets stays 3.x, version-agnostic).
- 4 local plugins: @capacitor/core peer/dev dep → ^8.0.0; podspec ios deployment_target 14→15.
- codemagic.yaml: node 20→22 (Cap 8 requires Node 22+); `cap add ios --packagemanager Cocoapods`
  (Cap 8 defaults to SPM — force CocoaPods); fail loudly if no Podfile is generated.
- add-share-extension.rb: fallback deployment target 14→15.
Requirements per the Cap 7→8 guide: Node 22+, Xcode 26+, iOS 15 min. capacitor.config has no
adjustMarginsForEdgeToEdge to remove. LiveKit git-pins + native calling unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-01 18:48:57 +05:30
parent fafc480904
commit 29106370fd
11 changed files with 33 additions and 28 deletions
+7 -2
View File
@@ -29,7 +29,7 @@ workflows:
BUNDLE_ID: "com.bizgaze.connect"
XCODE_WORKSPACE: "mobile/ios/App/App.xcworkspace"
XCODE_SCHEME: "App"
node: 20
node: 22
xcode: latest
cocoapods: default
scripts:
@@ -44,8 +44,13 @@ workflows:
script: |
cd mobile
# `cap add ios` scaffolds ios/App; safe to re-run — it no-ops if it already exists.
if [ ! -d "ios" ]; then npx cap add ios; fi
# Capacitor 8 DEFAULTS to Swift Package Manager, but our whole iOS pipeline (LiveKit Podfile pins,
# share-extension injection, AppDelegate patches) is CocoaPods-based — so force CocoaPods.
if [ ! -d "ios" ]; then npx cap add ios --packagemanager Cocoapods; fi
npx cap sync ios
# Fail LOUDLY if no Podfile was generated (flag ignored / SPM project) rather than fail later with a
# confusing error — the CocoaPods pipeline downstream needs ios/App/Podfile to exist.
test -f ios/App/Podfile || { echo "ERROR: no ios/App/Podfile — 'cap add' did not use CocoaPods"; exit 1; }
# App icon + splash from resources/icon.png & resources/splash*.png (1024x1024 icon, 2732² splash).
npx capacitor-assets generate --ios || echo "asset generation skipped"