6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 37a020fa

AuthorNKL<nikolaj.king@gmail.com>
Date2025-12-08 12:59:17 +0100
Update build-ios.yml

Changed files

azure/templates/build-ios.yml | 75 ++++++++++++++++++++++++++-----------------
 1 file changed, 46 insertions(+), 29 deletions(-)

Diff

diff --git a/azure/templates/build-ios.yml b/azure/templates/build-ios.yml
index 6fffe256..99093c61 100644
--- a/azure/templates/build-ios.yml
+++ b/azure/templates/build-ios.yml
@@ -66,44 +66,61 @@ steps:
- script: |
cd $(Build.SourcesDirectory)/comwell_key_app
flutter clean
- flutter pub get
rm -rf ios/build
rm -rf ios/.symlinks
rm -rf ~/Library/Developer/Xcode/DerivedData/*Runner*
displayName: 'Clean build artifacts'
-# - script: |
-# sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer
-# displayName: 'Select XCode version'
+# Prepare Flutter dependencies and CocoaPods
+- script: |
+ cd $(Build.SourcesDirectory)/comwell_key_app
+ flutter pub get
+ displayName: 'Flutter pub get'
-- task: FlutterBuild@0
- displayName: "Build app"
- inputs:
- buildNumber: "$(Build.BuildId)"
- target: "ios"
- buildFlavour: $(flavor)
- projectDirectory: "$(Build.SourcesDirectory)/comwell_key_app"
- iosCodesign: false
- exportOptionsPlist: "$(Build.SourcesDirectory)/comwell_key_app/ios/$(iosExportOptionsPlist)"
-
-- task: Xcode@5
- displayName: "Archive app"
- inputs:
- actions: "archive" # Make sure to use the correct scheme that includes the custom XCFramework
- configuration: "$(iosConfiguration)"
- xcWorkspacePath: "$(Build.SourcesDirectory)/comwell_key_app/ios/Runner.xcworkspace"
- packageApp: true
- args: "-verbose"
- signingOption: "manual"
- signingIdentity: "$(APPLE_CERTIFICATE_SIGNING_IDENTITY)"
- provisioningProfileUuid: "$(APPLE_PROV_PROFILE_UUID)"
-
-- script: ls -lR comwell_key_app/build/ios/ipa
+- script: |
+ cd $(Build.SourcesDirectory)/comwell_key_app/ios
+ pod install --repo-update
+ displayName: 'Install CocoaPods'
+
+# Build and Archive with explicit scheme and configuration (bypasses Flutter's flavor detection)
+- script: |
+ cd $(Build.SourcesDirectory)/comwell_key_app/ios
+
+ echo "Building with:"
+ echo " Scheme: $(iosScheme)"
+ echo " Configuration: $(iosConfiguration)"
+ echo " Bundle ID should be: $(iosBundleId)"
+
+ xcodebuild archive \
+ -workspace Runner.xcworkspace \
+ -scheme "$(iosScheme)" \
+ -configuration "$(iosConfiguration)" \
+ -sdk iphoneos \
+ -archivePath "$(Build.SourcesDirectory)/output/Runner.xcarchive" \
+ BUILD_NUMBER=$(Build.BuildId) \
+ CODE_SIGN_STYLE=Manual \
+ CODE_SIGN_IDENTITY="$(APPLE_CERTIFICATE_SIGNING_IDENTITY)" \
+ PROVISIONING_PROFILE_SPECIFIER="$(APPLE_PROV_PROFILE_UUID)" \
+ DEVELOPMENT_TEAM=8RNV6AX4ZL \
+ -allowProvisioningUpdates \
+ | tee xcodebuild.log
+ displayName: 'Xcode Archive'
+
+# Export IPA
+- script: |
+ xcodebuild -exportArchive \
+ -archivePath "$(Build.SourcesDirectory)/output/Runner.xcarchive" \
+ -exportPath "$(Build.SourcesDirectory)/output/ipa" \
+ -exportOptionsPlist "$(Build.SourcesDirectory)/comwell_key_app/ios/$(iosExportOptionsPlist)" \
+ -allowProvisioningUpdates
+ displayName: 'Export IPA'
+
+- script: ls -lR $(Build.SourcesDirectory)/output/ipa
displayName: 'List IPA output directory'
- task: PublishBuildArtifacts@1
inputs:
- PathtoPublish: 'comwell_key_app/build/ios/ipa'
+ PathtoPublish: '$(Build.SourcesDirectory)/output/ipa'
ArtifactName: 'ios-ipa'
publishLocation: 'Container'
# (Optional) Publish artifact
@@ -122,6 +139,6 @@ steps:
appIdentifier: $(iosBundleId)
serviceEndpoint: "Apple"
appType: 'iOS'
- ipaPath: 'comwell_key_app/build/ios/ipa/*.ipa'
+ ipaPath: '$(Build.SourcesDirectory)/output/ipa/*.ipa'
shouldSkipWaitingForProcessing: true
shouldSkipSubmission: true