fix(ios): accept Xcode 27 pod targets and DeviceHub

Xcode 27 rejects deployment targets below iOS 15, and several pods and
their resource bundles still declare 9.0 to 13.0. Raise any pod target
below the app's iOS 16.0 minimum to 16.0 in post_install.

`just mobile-dev` also failed immediately because Xcode 27 replaced
Simulator.app with DeviceHub.app; accept either.

Co-authored-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
This commit is contained in:
Wes
2026-10-14 13:57:33 -07:00
parent 2f79374f48
commit 321bf3717b
3 changed files with 16 additions and 5 deletions

View File

@@ -1021,8 +1021,9 @@ mobile-build-android:
mobile-dev:
#!/usr/bin/env bash
set -euo pipefail
if ! pgrep -x Simulator &>/dev/null; then
open -a Simulator
# Xcode 27 replaced Simulator.app with DeviceHub.app.
if ! pgrep -x Simulator &>/dev/null && ! pgrep -x DeviceHub &>/dev/null; then
open -a Simulator 2>/dev/null || open -a DeviceHub
sleep 3
fi
./scripts/mobile-worktree-overrides.sh

View File

@@ -1,4 +1,5 @@
platform :ios, '16.0'
ios_deployment_target = '16.0'
platform :ios, ios_deployment_target
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -36,8 +37,17 @@ target 'Runner' do
end
post_install do |installer|
minimum_ios_version = Gem::Version.new(ios_deployment_target)
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
# Pods and their resource bundles can retain older podspec deployment
# targets that newer Xcode versions no longer support.
target.build_configurations.each do |config|
deployment_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']
if deployment_target.nil? || Gem::Version.new(deployment_target) < minimum_ios_version
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ios_deployment_target
end
end
end
# Flutter creates plugin symlinks during installation, so load the upstream
# helper here rather than requiring an existing Pods install at parse time.

View File

@@ -227,6 +227,6 @@ SPEC CHECKSUMS:
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
video_player_avfoundation: dd410b52df6d2466a42d28550e33e4146928280a
PODFILE CHECKSUM: 3aac4aa13c3166f951fe137719268b7dc62b9110
PODFILE CHECKSUM: 11998d8439eb9f4efd90e244a9209463c423d566
COCOAPODS: 1.16.2
COCOAPODS: 1.17.0