I’m trying to create a pipeline on Azure devOps to publish an iOS app (built with capacitor/quasar framework) to the appstore using this yaml file
`parameters:- name: environment
displayName: Configuration based on env
type: string
default: DEV
values:
- PROD
- DEV
stages: - stage: __default
jobs:- job: Job
pool:
vmImage: macOS-12
strategy:
maxParallel: 1
steps:-
task: NodeTool@0
displayName: install node version
inputs:
versionSource: ‘spec’
versionSpec: ‘16.0.0’ -
task: CmdLine@2
displayName: install dependencies
inputs:
script: |
npm i -g @quasar/cli
npm install
cd src-capacitor
npm install -
task: CocoaPods@0
displayName: install cocoapods
inputs:
workingDirectory: ‘src-capacitor/ios/App’
forceRepoUpdate: false -
task: CmdLine@2
displayName: npm build
inputs:
script: ‘quasar build -m capacitor -T ios –skip-pkg’ -
task: InstallAppleCertificate@2
displayName: install apple signing certificate
inputs:
certSecureFile: ‘devTest.p12’
certPwd: ‘0000’
keychain: ‘temp’ -
task: InstallAppleProvisioningProfile@1
displayName: install apple provisioning profile
inputs:
provisioningProfileLocation: ‘secureFiles’
provProfileSecureFile: ‘testDev.mobileprovision’ -
task: Xcode@5
displayName: Uncheck “Based on dependency analysis” for “[CP] Embed Pods Frameworks”
inputs:
buildAction: ‘modify’
xcodeProjPath: ‘src-capacitor/ios/App.xcodeproj’
buildSettings: |
“TARGETED_DEVICE_FAMILY[$(Default Platforms)]”=”iphoneos”
“buildSettings[$(SCHEME_NAME)][ENABLE_BITCODE]”=”NO”
“buildSettings[$(SCHEME_NAME)][SWIFT_VERSION]”=”5.0” # Example settings, adjust as needed
# Add a setting to disable dependency analysis for the script phase:
“buildSettings[“Embed Pods Frameworks”][BASED_ON_DEPENDENCY_ANALYSIS]”=”NO”
sdk: ‘iphoneos’ -
task: CmdLine@2
displayName: ‘Ensure proper integration of Capacitor modules’
inputs:
script: |
echo “Ensuring proper integration of Capacitor modules…”
cd src-capacitor/ios/App # Navigate to the iOS project directory
pod install # Install CocoaPods dependencies
npx cap sync ios # Sync Capacitor iOS configuration and dependencies -
task: Xcode@5
displayName: ‘Building IPA File’
inputs:
actions: ‘build archive’ -
task: CmdLine@2
displayName: Naming ipa file
inputs:
script: >
appversion=$(cat package.json | head | grep -w “version” | awk ‘{print $2}’ |cut -c 2-6)mv /Users/runner/work/1/s/output/App.ipa /Users/runner/work/1/s/output/myapp_DEV_${appversion}.ipa
-
task: CopyFiles@2
displayName: ‘Copy Files to: $(build.artifactStagingDirectory)’
inputs:
SourceFolder: ‘/Users/runner/work/1/s/output’
Contents: ‘*.ipa’
TargetFolder: ‘$(Build.ArtifactStagingDirectory)’ -
task: PublishBuildArtifacts@1
displayName: ‘Publish Artifact: drop’
inputs:
PathtoPublish: ‘$(Build.ArtifactStagingDirectory)’
ArtifactName: ‘ios’
publishLocation: ‘Container’
`
-
- job: Job
However the pipeline fails at building IPA file :
-
BUILD FAILED **
Run script build phase ‘[CP] Embed Pods Frameworks’ will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking “Based on dependency analysis” in the script phase. (in target ‘App’ from project ‘App’)
** ARCHIVE FAILED **
##[error]Error: /usr/bin/xcodebuild failed with return code: 65
Problem is xcode is not returning amy other errors.