-
-
Notifications
You must be signed in to change notification settings - Fork 22
Our IOS Build Solution
Heyramb Narayan Goyal edited this page Oct 3, 2022
·
1 revision
export_option.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>provisioningProfiles</key>
<dict>
<key>co.organization.app</key>
<string>Organization iOS Distribution</string>
</dict>
</dict>
</plist>
1 - add Flutter install
2 - pod repo update
After that these steps follow
To generate IOS
steps:
- task: Hey24sheep.flutter.flutter-build.FlutterBuild@0
displayName: 'Flutter Build ios'
inputs:
target: ios
projectDirectory: project
buildFlavour: your_flavor
buildNumber: '$(Build.BuildNumber)'
buildName: '$(buildTimeStamp)'
entryPoint: 'lib/main_flavor.dart'
iosCodesign: false
extraArgs: '--no-tree-shake-icons'
To install Apple Cert
steps:
- task: InstallAppleCertificate@2
displayName: 'Install an Apple certificate'
inputs:
certSecureFile: 'xyz_distribution.p12'
certPwd: xyz
setUpPartitionIdACLForPrivateKey: false
To install Apple Provisioning Profile
steps:
- task: InstallAppleProvisioningProfile@1
displayName: 'Install an Apple provisioning profile'
inputs:
provProfileSecureFile: 'your_Distribution.mobileprovision'
To bump bundle version
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $BUILD_BUILDNUMBER" Info.plist
To generate Archive
xcodebuild -workspace ios/Runner.xcworkspace -scheme Runner archive -sdk iphoneos -configuration Release-development -archivePath Runner CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY="iPhone Distribution: XYZ(ABC)" PROVISIONING_PROFILE= XYZ-GUID-HERE
PROVISIONING_PROFILE_SPECIFIER="SPECIFIER HERE"
To generate IPA
xcodebuild -exportArchive -archivePath Runner.xcarchive -exportPath Runner -exportOptionsPlist ios/export_options.plist
(if any) The only issues related to Provisioning Profiles got solved by deleting and recreating profiles and then re-linking them in XCode and uploading the same new profiles to Azure Devops.