Программируем под IOS
Anonymous
Не могу вручную подписать IPA для развертывания на Firebase на Azure DevOps
Сообщение
Anonymous » 02 окт 2025, 23:18
Я попытался генерировать сборку IPA через YAML в Azure DevOps с ограниченным успехом. < /p>
У меня есть сгенерированный сертификат .p12 и профиль обеспечения, который я получаю в xcode@5 step < /p>
ниже - ошибка, которую я получаю в xcode@5 step < /p>
.
Код: Выделить всё
The following build commands failed:
Archiving workspace Runner with scheme dev
(1 failure)
##[error]Error: The process '/usr/bin/xcodebuild' failed with exit code 65
< /code>
ниже мой файл yaml < /p>
- deployment: dev_ios
timeoutInMinutes: 120
environment: dev
displayName: iOS Dev (automatic signing)
pool:
vmImage: macos-latest
variables:
- group: MY-DEV
- name: FLUTTER_XCODE_CODE_SIGN_IDENTITY
value: ""
- name: FLUTTER_XCODE_CODE_SIGNING_REQUIRED
value: NO
strategy:
runOnce:
deploy:
steps:
- task: InstallAppleCertificate@2
name: installCert
inputs:
certSecureFile: Certificates.p12
certPwd: PASSWORD
displayName: Install Apple Certificate
- task: InstallAppleProvisioningProfile@1
name: installProfile
inputs:
provisioningProfileLocation: secureFiles
provProfileSecureFile: MY_PROVISIONING_PROFILE.mobileprovision
displayName: Install Provisioning Profile
- task: FlutterInstall@0
displayName: 'Install Flutter'
inputs:
mode: auto
channel: stable
version: custom
customVersion: 3.24.1
- task: FlutterCommand@0
displayName: Flutter doctor
inputs:
projectDirectory: $(Pipeline.Workspace)/customer
arguments: doctor -v
- task: FlutterBuild@0
displayName: Build Flutter iOS App
inputs:
target: 'ios'
buildFlavour: dev
projectDirectory: $(Pipeline.Workspace)/customer
buildName: "Dev build"
buildNumber: $(Build.BuildId)
iosCodesign: false
extraArgs: '--release --obfuscate --split-debug-info=$(Build.SourcesDirectory)/build'
- bash: |
# Fixing permissions issues, otherwise xcode build will fail with a failed 'PhaseScriptExecution Copy ...' command
chmod -R +x $(System.DefaultWorkingDirectory)
- task: Xcode@5
displayName: '[Xcode] Archive and sign'
inputs:
actions: 'archive'
sdk: 'iphoneos'
configuration: 'Release-dev'
scheme: 'dev'
xcWorkspacePath: '$(Pipeline.Workspace)/customer/ios/Runner.xcworkspace'
signingIdentity: '$(installCert.signingIdentity)'
provisioningProfileUuid: '$(installProfile.provisioningProfileUuid)'
packageApp: true
signingOption: 'manual'
exportOptions: 'plist'
exportOptionsPlist: $(Pipeline.Workspace)/customer/ExportOptions.plist
exportMethod: 'ad-hoc'
useXcpretty: false
args: '-verbose'
archivePath: '$(Pipeline.Workspace)/customer/ios/archive/Runner.xcarchive'
exportPath: '$(Pipeline.Workspace)/customer/output/iphoneos/Release'
- task: Bash@3
displayName: 'Archive'
inputs:
targetType: 'inline'
script: |
cd $(Pipeline.Workspace)/customer/ios
xcodebuild archive -project 'Runner.xcodeproj' -scheme 'Runner' -sdk iphoneos -archivePath Runner.xcarchive -allowProvisioningUpdates
- task: DownloadSecureFile@1
name: gcpServiceAccount
displayName: Download GCP service-account key
inputs:
secureFile: MY-DEV-GCP.json
- task: Bash@3
displayName: Upload IPA to Firebase App Distribution
inputs:
targetType: inline
workingDirectory: $(Pipeline.Workspace)/customer'
script: |
npm install -g firebase-tools
export GOOGLE_APPLICATION_CREDENTIALS="$(gcpServiceAccount.secureFilePath)"
firebase appdistribution:distribute \
"$(Pipeline.Workspace)/customer/build/ios/ipa/*.ipa" \
--app "$(firebase_app_id_dev)" \
--release-notes "Dev iOS build $(Build.BuildId)"
< /code>
Кроме того, ниже приведен мой содержимое файла exportoptions.plist < /p>
compileBitcode
method
ad-hoc
provisioningProfiles
com.user.magicapp
magic-azure-devops-profile
signingCertificate
Apple Distribution
signingStyle
manual
stripSwiftSymbols
teamID
12345678
thinning
<none>
Примечание: Некоторые имена были изменены на скрытую конфиденциальную информацию
Подробнее здесь:
https://stackoverflow.com/questions/797 ... ure-devops
1759436301
Anonymous
Я попытался генерировать сборку IPA через YAML в Azure DevOps с ограниченным успехом. < /p> У меня есть сгенерированный сертификат .p12 и профиль обеспечения, который я получаю в xcode@5 step < /p> ниже - ошибка, которую я получаю в xcode@5 step < /p> .[code]The following build commands failed: Archiving workspace Runner with scheme dev (1 failure) ##[error]Error: The process '/usr/bin/xcodebuild' failed with exit code 65 < /code> ниже мой файл yaml < /p> - deployment: dev_ios timeoutInMinutes: 120 environment: dev displayName: iOS Dev (automatic signing) pool: vmImage: macos-latest variables: - group: MY-DEV - name: FLUTTER_XCODE_CODE_SIGN_IDENTITY value: "" - name: FLUTTER_XCODE_CODE_SIGNING_REQUIRED value: NO strategy: runOnce: deploy: steps: - task: InstallAppleCertificate@2 name: installCert inputs: certSecureFile: Certificates.p12 certPwd: PASSWORD displayName: Install Apple Certificate - task: InstallAppleProvisioningProfile@1 name: installProfile inputs: provisioningProfileLocation: secureFiles provProfileSecureFile: MY_PROVISIONING_PROFILE.mobileprovision displayName: Install Provisioning Profile - task: FlutterInstall@0 displayName: 'Install Flutter' inputs: mode: auto channel: stable version: custom customVersion: 3.24.1 - task: FlutterCommand@0 displayName: Flutter doctor inputs: projectDirectory: $(Pipeline.Workspace)/customer arguments: doctor -v - task: FlutterBuild@0 displayName: Build Flutter iOS App inputs: target: 'ios' buildFlavour: dev projectDirectory: $(Pipeline.Workspace)/customer buildName: "Dev build" buildNumber: $(Build.BuildId) iosCodesign: false extraArgs: '--release --obfuscate --split-debug-info=$(Build.SourcesDirectory)/build' - bash: | # Fixing permissions issues, otherwise xcode build will fail with a failed 'PhaseScriptExecution Copy ...' command chmod -R +x $(System.DefaultWorkingDirectory) - task: Xcode@5 displayName: '[Xcode] Archive and sign' inputs: actions: 'archive' sdk: 'iphoneos' configuration: 'Release-dev' scheme: 'dev' xcWorkspacePath: '$(Pipeline.Workspace)/customer/ios/Runner.xcworkspace' signingIdentity: '$(installCert.signingIdentity)' provisioningProfileUuid: '$(installProfile.provisioningProfileUuid)' packageApp: true signingOption: 'manual' exportOptions: 'plist' exportOptionsPlist: $(Pipeline.Workspace)/customer/ExportOptions.plist exportMethod: 'ad-hoc' useXcpretty: false args: '-verbose' archivePath: '$(Pipeline.Workspace)/customer/ios/archive/Runner.xcarchive' exportPath: '$(Pipeline.Workspace)/customer/output/iphoneos/Release' - task: Bash@3 displayName: 'Archive' inputs: targetType: 'inline' script: | cd $(Pipeline.Workspace)/customer/ios xcodebuild archive -project 'Runner.xcodeproj' -scheme 'Runner' -sdk iphoneos -archivePath Runner.xcarchive -allowProvisioningUpdates - task: DownloadSecureFile@1 name: gcpServiceAccount displayName: Download GCP service-account key inputs: secureFile: MY-DEV-GCP.json - task: Bash@3 displayName: Upload IPA to Firebase App Distribution inputs: targetType: inline workingDirectory: $(Pipeline.Workspace)/customer' script: | npm install -g firebase-tools export GOOGLE_APPLICATION_CREDENTIALS="$(gcpServiceAccount.secureFilePath)" firebase appdistribution:distribute \ "$(Pipeline.Workspace)/customer/build/ios/ipa/*.ipa" \ --app "$(firebase_app_id_dev)" \ --release-notes "Dev iOS build $(Build.BuildId)" < /code> Кроме того, ниже приведен мой содержимое файла exportoptions.plist < /p> compileBitcode method ad-hoc provisioningProfiles com.user.magicapp magic-azure-devops-profile signingCertificate Apple Distribution signingStyle manual stripSwiftSymbols teamID 12345678 thinning <none> [/code] [b] Примечание: [/b] Некоторые имена были изменены на скрытую конфиденциальную информацию Подробнее здесь: [url]https://stackoverflow.com/questions/79781272/cant-manually-sign-ipa-for-deployment-to-firebase-on-azure-devops[/url]