30 lines
1.4 KiB
Bash
30 lines
1.4 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Patch the freshly-generated Capacitor iOS project (mobile/ios/App) for App Store submission.
|
||
|
|
# Runs on the Codemagic macOS instance after `npx cap add ios`. Idempotent — safe to re-run.
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
PLIST="mobile/ios/App/App/Info.plist"
|
||
|
|
PB=/usr/libexec/PlistBuddy
|
||
|
|
|
||
|
|
set_str() { # set_str <key> <value> — add the key if missing, else overwrite
|
||
|
|
"$PB" -c "Add :$1 string $2" "$PLIST" 2>/dev/null || "$PB" -c "Set :$1 $2" "$PLIST"
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "Patching $PLIST"
|
||
|
|
|
||
|
|
# ── Privacy usage strings (Apple REJECTS the build if a used capability has no purpose string) ──
|
||
|
|
set_str NSCameraUsageDescription "Biz Connect uses the camera for video calls and to share photos and your screen."
|
||
|
|
set_str NSMicrophoneUsageDescription "Biz Connect uses the microphone for voice and video calls."
|
||
|
|
set_str NSPhotoLibraryUsageDescription "Biz Connect needs photo access so you can send images in chat."
|
||
|
|
set_str NSPhotoLibraryAddUsageDescription "Biz Connect saves images and recordings you download to your photos."
|
||
|
|
|
||
|
|
# Human-readable display name on the home screen.
|
||
|
|
set_str CFBundleDisplayName "Biz Connect"
|
||
|
|
|
||
|
|
# Allow the webview to load our HTTPS origin (we do NOT enable arbitrary cleartext).
|
||
|
|
"$PB" -c "Delete :NSAppTransportSecurity" "$PLIST" 2>/dev/null || true
|
||
|
|
|
||
|
|
echo "Info.plist patched:"
|
||
|
|
"$PB" -c "Print :NSCameraUsageDescription" "$PLIST"
|
||
|
|
"$PB" -c "Print :NSMicrophoneUsageDescription" "$PLIST"
|