Update iOS build settings and version metadata

This commit is contained in:
Haitao Pan 2026-03-28 20:22:48 +08:00
parent 2a5d297c10
commit 15a85cea0b
6 changed files with 25 additions and 9 deletions

View File

@ -7,8 +7,16 @@ PNPM ?= pnpm
DART ?= dart
DEVICE ?= macos
APP_STORE_DART_DEFINE ?= --dart-define=XWORKMATE_APP_STORE=true
PUBSPEC_VERSION_LINE := $(shell sed -n 's/^version:[[:space:]]*//p' pubspec.yaml | head -n 1)
PUBSPEC_BUILD_DATE := $(shell sed -n 's/^build-date:[[:space:]]*//p' pubspec.yaml | head -n 1)
PUBSPEC_BUILD_ID := $(shell sed -n 's/^build-id:[[:space:]]*//p' pubspec.yaml | head -n 1)
APP_VERSION := $(firstword $(subst +, ,$(PUBSPEC_VERSION_LINE)))
APP_BUILD_NUMBER_RAW := $(word 2,$(subst +, ,$(PUBSPEC_VERSION_LINE)))
APP_BUILD_NUMBER := $(if $(APP_BUILD_NUMBER_RAW),$(APP_BUILD_NUMBER_RAW),1)
APP_DART_DEFINE_VERSION ?= --dart-define=XWORKMATE_DISPLAY_VERSION=$(APP_VERSION)
APP_DART_DEFINE_BUILD ?= --dart-define=XWORKMATE_BUILD_NUMBER=$(APP_BUILD_NUMBER)
.PHONY: help deps analyze test check format run open-macos-xcode build-linux build-macos build-ios-sim package-deb package-rpm package-linux package-mac install-mac clean build-go-core render-release-docs check-export-compliance
.PHONY: help deps analyze test check format run open-macos-xcode sync-version build-linux build-macos build-ios-sim package-deb package-rpm package-linux package-mac install-mac clean build-go-core render-release-docs check-export-compliance
help: ## Show available targets
@grep -E '^[a-zA-Z0-9_.-]+:.*?## ' Makefile | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "%-18s %s\n", $$1, $$2}'
@ -30,6 +38,12 @@ format: ## Format Dart sources
render-release-docs: ## Render feature matrix, roadmap, release notes, and changelog docs
$(DART) run tool/render_release_docs.dart
sync-version: ## Show the version/build metadata sourced from pubspec.yaml
@echo "version=$(APP_VERSION)"
@echo "build=$(APP_BUILD_NUMBER)"
@echo "build-date=$(PUBSPEC_BUILD_DATE)"
@echo "build-id=$(PUBSPEC_BUILD_ID)"
run: ## Run the app on a device or desktop target (DEVICE=macos by default)
$(FLUTTER) run -d $(DEVICE)
@ -40,11 +54,11 @@ build-linux: ## Build the Linux app in release mode
$(FLUTTER) build linux --release
build-macos: ## Build the macOS app in release mode
$(FLUTTER) build macos --release $(APP_STORE_DART_DEFINE)
$(FLUTTER) build macos --release $(APP_STORE_DART_DEFINE) --build-name=$(APP_VERSION) --build-number=$(APP_BUILD_NUMBER) $(APP_DART_DEFINE_VERSION) $(APP_DART_DEFINE_BUILD)
bash scripts/check-apple-export-compliance.sh build/macos/Build/Products/Release/XWorkmate.app
build-ios-sim: ## Build the iOS app for the simulator
$(FLUTTER) build ios --simulator $(APP_STORE_DART_DEFINE)
$(FLUTTER) build ios --simulator $(APP_STORE_DART_DEFINE) --build-name=$(APP_VERSION) --build-number=$(APP_BUILD_NUMBER) $(APP_DART_DEFINE_VERSION) $(APP_DART_DEFINE_BUILD)
bash scripts/check-apple-export-compliance.sh build/ios/iphonesimulator/Runner.app
build-go-core: ## Build the Go core helper

View File

@ -1,2 +1,3 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"
EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 i386 armv7

View File

@ -1,2 +1,3 @@
#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"
EXCLUDED_ARCHS[sdk=iphonesimulator*] = arm64 i386 armv7

View File

@ -42,10 +42,10 @@ post_install do |installer|
next unless ['mobile_scanner', 'Pods-Runner', 'Pods-RunnerTests'].include?(target.name)
target.build_configurations.each do |config|
# mobile_scanner and the generated Pods aggregate targets exclude arm64
# simulators upstream, which breaks Apple Silicon simulator builds with
# missing module / missing Pods_Runner.framework errors.
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'i386 armv7'
# mobile_scanner and the generated Pods aggregate targets need to avoid
# arm64 on simulators here because MLImage ships a device-only object
# slice that fails when the Apple Silicon simulator tries to link it.
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386 armv7'
end
end
end

View File

@ -132,6 +132,6 @@ SPEC CHECKSUMS:
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
super_native_extensions: b763c02dc3a8fd078389f410bf15149179020cb4
PODFILE CHECKSUM: 18611600007ab4a15dd4fb907f17ed9b6a3dcf8f
PODFILE CHECKSUM: 612706ed53555a28e529d2b87297b10550c80134
COCOAPODS: 1.16.2

View File

@ -4,7 +4,7 @@ publish_to: 'none'
version: 1.0.1+3
build-date: 2026-03-28
build-id: cc00864
build-id: f153d7b
environment:
sdk: ^3.11.0