【发布时间】:2022-10-18 13:00:00
【问题描述】:
在 Xamarin.forms 项目中,我尝试使用以下 YML 脚本创建构建。我添加了安装 Appstore 分发和 APNS 证书 .p12 文件的任务。整个脚本工作正常,构建工作正常,只有推送通知不起作用,下面是我正在使用的脚本:
stage: iOSBuildProd
displayName: iOS Build Prod
dependsOn: iOSBuildQA
pool:
vmImage: 'macOS-latest'
jobs:
- job: iOSBuildSolution
displayName: iOS Build Solution
steps:
- script: sudo $AGENT_HOMEDIRECTORY/scripts/select-xamarin-sdk.sh 5_0_0
displayName: 'Select Xamarin SDK version'
enabled: false
- task: InstallAppleCertificate@2
displayName: installing Build certificate
inputs:
certSecureFile: '$(certAPNSFile)'
certPwd: '$(certificatePassword)'
keychain: 'temp'
deleteCert: true
- task: InstallAppleCertificate@2
displayName: installing Build certificate
inputs:
certSecureFile: '$(certDistributionFile)'
certPwd: '$(certificatePassword)'
keychain: 'temp'
deleteCert: true
- task: InstallAppleProvisioningProfile@1
displayName: installing provisioning profiles
inputs:
provisioningProfileLocation: 'secureFiles'
provProfileSecureFile: $(AppStoreProfileName)
removeProfile: true
- task: NuGetToolInstaller@1
displayName: 'NuGet Installer'
- task: NuGetCommand@2
displayName: 'NuGet Command'
inputs:
restoreSolution: '$(solutionPath)'
- task: XamariniOS@2
displayName: 'iOS Build'
inputs:
solutionFile: '$(iOSSolutionPath)'
configuration: '$(solutionConfiguration)'
args: '/p:IpaPackageDir="$(outputDirectory)"'
packageApp: true
buildForSimulator: false
runNugetRestore: true
signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
signingProvisioningProfileID: '$(APPLE_PROV_PROFILE_UUID)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(outputDirectory)'
ArtifactName: 'prodStage'
【问题讨论】:
-
我有同样的问题。我无法让推送通知工作。我正在使用 openssl 创建我的 Apple Dev 证书和 Apple Push Notification 证书。它们都是 p12 文件。我可以在 DotNetCoreCLI@2 Task 中看到没有提及推送通知证书。我正在构建一个 .Net Maui 应用程序。我也没有在 Pre-job:InstallAppleProvisioningProfile 任务中看到任何关于推送通知的提及。你有没有让这个工作?
标签: ios xamarin.forms azure-pipelines azure-pipelines-release-pipeline