iOS distribution pipeline issue
Hello, I have two pipelines for development and distribution to testflight of my ios app. There are development/distribution certificate and provisioning profile for both the setup. My Development pipeline is working fine, but in distribution pipeline, on dotnet publish I’m getting the below error:
error : No valid iOS code signing keys found in keychain. You need to request a codesigning certificate from https://developer.apple.com.
Upon debugging, I found the following log
The certificate ‘Apple Distribution: ****** Limited (*******)’ does not match any of the prefixes ‘iPhone Developer’, ‘iOS Development’, ‘Apple Development’.
Do any of you know why it is looking for developer and development prefixes while this is for distribution. Is it any issue related to the task, if so can any of you suggest some alternate ways to sign. I’m using Azure DevOps pipeline.
pool:
name: Azure Pipelines
demands: xcode
variables:
password: ‘*****’
steps:
– task: InstallAppleCertificate@2
displayName: ‘Install an Apple certificate’
inputs:
certSecureFile: AppleDistributionMay13.p12
certPwd: ‘$(password)’
signingIdentity: ‘Developer’
setUpPartitionIdACLForPrivateKey: false
– task: InstallAppleProvisioningProfile@1
displayName: ‘Install an Apple provisioning profile’
inputs:
provProfileSecureFile: AppleDistributionMay13.mobileprovision
– task: UseDotNet@2
displayName: ‘Use .NET Core sdk 8.x’
inputs:
version: 8.x
– script: ‘dotnet workload install maui’
displayName: ‘Install Dotnet MAUI Workload’
– task: DotNetCoreCLI@2
displayName: ‘dotnet publish’
inputs:
command: publish
publishWebProjects: false
projects: Ids.sln
arguments: ‘-f:net8.0-ios -c:Release /p:ArchiveOnBuild=true /p:EnableAssemblyILStripping=false /verbosity:diagnostic’
zipAfterPublish: false
modifyOutputPath: false
– task: CopyFiles@2
displayName: ‘Copy Files to: $(Build.ArtifactStagingDirectory)’
inputs:
SourceFolder: ‘$(Agent.BuildDirectory)’
Contents: ‘**/*.ipa’
TargetFolder: ‘$(Build.ArtifactStagingDirectory)’
flattenFolders: true
– task: PublishBuildArtifacts@1
displayName: ‘Publish Artifact: drop’
– task: ms-vsclient.app-store.app-store-release.AppStoreRelease@1
displayName: ‘Publish to the App Store TestFlight track’
inputs:
serviceEndpoint: ‘Apple App Store service connection’
appIdentifier: com.******.*******
ipaPath: ‘bin/Release/net8.0-ios/ios-arm64/publish//***.ipa’
shouldSkipWaitingForProcessing: true
shouldSkipSubmission: true
appSpecificId: *********
Hello, I have two pipelines for development and distribution to testflight of my ios app. There are development/distribution certificate and provisioning profile for both the setup. My Development pipeline is working fine, but in distribution pipeline, on dotnet publish I’m getting the below error:error : No valid iOS code signing keys found in keychain. You need to request a codesigning certificate from https://developer.apple.com.Upon debugging, I found the following logThe certificate ‘Apple Distribution: ****** Limited (*******)’ does not match any of the prefixes ‘iPhone Developer’, ‘iOS Development’, ‘Apple Development’.Do any of you know why it is looking for developer and development prefixes while this is for distribution. Is it any issue related to the task, if so can any of you suggest some alternate ways to sign. I’m using Azure DevOps pipeline.pool: name: Azure Pipelines demands: xcodevariables: password: ‘*****’steps:- task: InstallAppleCertificate@2 displayName: ‘Install an Apple certificate’ inputs: certSecureFile: AppleDistributionMay13.p12 certPwd: ‘$(password)’ signingIdentity: ‘Developer’ setUpPartitionIdACLForPrivateKey: false- task: InstallAppleProvisioningProfile@1 displayName: ‘Install an Apple provisioning profile’ inputs: provProfileSecureFile: AppleDistributionMay13.mobileprovision- task: UseDotNet@2 displayName: ‘Use .NET Core sdk 8.x’ inputs: version: 8.x- script: ‘dotnet workload install maui’ displayName: ‘Install Dotnet MAUI Workload’- task: DotNetCoreCLI@2 displayName: ‘dotnet publish’ inputs: command: publish publishWebProjects: false projects: Ids.sln arguments: ‘-f:net8.0-ios -c:Release /p:ArchiveOnBuild=true /p:EnableAssemblyILStripping=false /verbosity:diagnostic’ zipAfterPublish: false modifyOutputPath: false- task: CopyFiles@2 displayName: ‘Copy Files to: $(Build.ArtifactStagingDirectory)’ inputs: SourceFolder: ‘$(Agent.BuildDirectory)’ Contents: ‘**/*.ipa’ TargetFolder: ‘$(Build.ArtifactStagingDirectory)’ flattenFolders: true- task: PublishBuildArtifacts@1 displayName: ‘Publish Artifact: drop’- task: ms-vsclient.app-store.app-store-release.AppStoreRelease@1 displayName: ‘Publish to the App Store TestFlight track’ inputs: serviceEndpoint: ‘Apple App Store service connection’ appIdentifier: com.******.******* ipaPath: ‘bin/Release/net8.0-ios/ios-arm64/publish//***.ipa’ shouldSkipWaitingForProcessing: true shouldSkipSubmission: true appSpecificId: ********* Read More