Я пытаюсь создать приложение xamarin для iOS и Android через размещенных агентов в Azure DevOps. Решение содержит несколько проектов, а также iOS и Android, и все ссылки проекты, необходимые для сборки приложения.
Android сборка работает нормально на размещенном агенте, а также может быть протестирована после загрузки apk сборки на телефон.
iOS сборка по-прежнему вызывает проблемы хоть. Теперь мне удалось собрать ipa и решить проблемы с подписью (по крайней мере, те, о которых я знаю).
Я также представил отдельную конфигурацию сборки adHo c, которая отлично работает на моей ма c ( это означает, что я могу установить ipa, созданный visual studio для ma c, через xcode на моем тестфоне и запустить его без проблем).
Теперь, когда я запускаю конвейер сборки для iOS на хосте Ма c Агент, он прекрасно работает, не показывает ошибок при подписании и построении артефакта, и все работает отлично. Только когда я пытаюсь установить ipa на свой телефон через xcode после того, как я скачал его с azure devOps, он падает сразу после отображения заставки, как если бы профиль обеспечения для этого приложения был неправильным.
I Предположим, что это так, потому что приложение нуждается в двух профилях. Один для приложения и один для расширения общего доступа. Но я устанавливаю оба профиля на агенте ma c в моем конвейере сборки yaml.
Вот конвейер, который я использую для сборки. И как я уже сказал. журналы не показывают ошибок при сборке. в Azure DevOps все зеленое.
# Xamarin.iOS
# Build a Xamarin.iOS project.
# Add steps that install certificates, test, sign, and distribute an app, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/xamarin
trigger:
- Share/main
pool:
vmImage: 'macos-latest'
steps:
# To manually select a Xamarin SDK version on the Microsoft-hosted macOS agent,
# configure this task with the *Mono* version that is associated with the
# Xamarin SDK version that you need, and set the "enabled" property to true.
# See https://go.microsoft.com/fwlink/?linkid=871629
- script: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 6_6_0
displayName: 'Select the Xamarin SDK version'
enabled: true
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
packageType: sdk
version: 3.x
installationPath: $(Agent.ToolsDirectory)/dotnet
- task: InstallAppleCertificate@0
inputs:
certSecureFile: 'Certificates.p12'
certPwd: rV9yoY5hXzNH
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'Mobile_Auriga__AdHoc.mobileprovision'
#- task: InstallAppleProvisioningProfile@1
# inputs:
# provisioningProfileLocation: 'secureFiles'
# provProfileSecureFile: 'Mobile_Auriga__Distribution.mobileprovision'
#- task: InstallAppleProvisioningProfile@1
# inputs:
# provisioningProfileLocation: 'secureFiles'
# provProfileSecureFile: 'Mobile_Auriga_Share_Extension__Distribution.mobileprovision'
- task: InstallAppleProvisioningProfile@1
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: 'Mobile_Auriga_Share_Extension__AdHoc.mobileprovision'
- task: XamariniOS@2
inputs:
runNugetRestore: true
solutionFile: 'Mobile4/Mobile4.sln'
configuration: 'AdHoc'
buildForSimulator: false
packageApp: true
- task: CopyFiles@2
inputs:
contents: '**/*.ipa'
targetFolder: '$(build.artifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
Я очень надеюсь, что вы мне как-нибудь поможете. может быть, я просто упустил из виду некоторые мелочи.
Заранее большое спасибо,
Maverick