diff --git a/.github/workflows/build-ios-testflight.yml b/.github/workflows/build-ios-testflight.yml
index 9833e99d0..48a2a1131 100644
--- a/.github/workflows/build-ios-testflight.yml
+++ b/.github/workflows/build-ios-testflight.yml
@@ -144,15 +144,25 @@ jobs:
tar -xzf torch_dart.tar.gz -C torch_dart
rm torch_dart.tar.gz
popd
- # Diagnostic: print LibTorch.xcframework's required min iOS so we
- # know whether the app's IPHONEOS_DEPLOYMENT_TARGET in pbxproj is
- # high enough. Apple's TestFlight ITMS-90208 fires when the app
- # claims to support an older iOS than this framework does.
- LIBTORCH_PLIST=$(find scripts/torch_dart -path '*LibTorch.xcframework/*' -name Info.plist 2>/dev/null | head -1)
- if [[ -n "$LIBTORCH_PLIST" ]]; then
- echo "LibTorch xcframework Info.plist: $LIBTORCH_PLIST"
- plutil -p "$LIBTORCH_PLIST" 2>/dev/null | grep -E "MinimumOSVersion|SupportedPlatform|SupportedArchitectures" || true
- fi
+ # LibTorch.xcframework ships with a lie: each slice's Info.plist
+ # claims MinimumOSVersion=12.0, but the Mach-O LC_BUILD_VERSION
+ # in the binaries says 13.0 (device) and 14.0 (simulator).
+ # Apple's TestFlight validator catches this mismatch and rejects
+ # the upload with ITMS-90208. Patch the Info.plists to match
+ # the actual binary build versions.
+ DEVICE_PLIST=scripts/torch_dart/ios/LibTorch.xcframework/ios-arm64/LibTorch.framework/Info.plist
+ SIM_PLIST=scripts/torch_dart/ios/LibTorch.xcframework/ios-arm64-simulator/LibTorch.framework/Info.plist
+ for entry in "$DEVICE_PLIST:13.0" "$SIM_PLIST:14.0"; do
+ plist="${entry%:*}"
+ min="${entry#*:}"
+ if [[ -f "$plist" ]]; then
+ plutil -replace MinimumOSVersion -string "$min" "$plist"
+ echo "patched $plist -> MinimumOSVersion $min"
+ plutil -p "$plist" | grep -E "MinimumOSVersion|CFBundleName" || true
+ else
+ echo "WARNING: $plist not found"
+ fi
+ done
- name: Fetch prebuilt reown_flutter
run: |
diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist
index 7b1095736..c5ff5d37e 100644
--- a/ios/Flutter/AppFrameworkInfo.plist
+++ b/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 15.0
+ 13.0
diff --git a/ios/Podfile b/ios/Podfile
index d98512585..cf24cb605 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-platform :ios, '15.0'
+platform :ios, '13.0'
source 'https://github.com/CocoaPods/Specs.git'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index a96351c68..43273e5e4 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -469,7 +469,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -499,7 +499,7 @@
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -568,7 +568,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -618,7 +618,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -650,7 +650,7 @@
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
@@ -694,7 +694,7 @@
"$(PROJECT_DIR)",
);
INFOPLIST_FILE = Runner/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 15.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
diff --git a/pubspec_description.yaml b/pubspec_description.yaml
index 24757ad5f..b3f6ded0f 100644
--- a/pubspec_description.yaml
+++ b/pubspec_description.yaml
@@ -1,6 +1,6 @@
name: hash_wallet
description: Hash Bags — a noncustodial multi-currency wallet by Such Software LLC.
-version: 1.0.0+2
+version: 1.0.0+3
publish_to: none
environment: