Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure Piplines Configuration for Xcode Managed Profile Setup - Possible? Documented?

Environment

Server - Azure Pipelines
Hosted MacOS agent

Issue Description

I'm using the following configuration in my Xcode project (w automatic code signing):

enter image description here

Is it possible to have Pipelines build and sign a project using this configuration if I've manually installed all of the provisioning profiles and certs in my pipeline prior to building?

Is there any documentation for this scenario or a how-to guide? Alternatively, if this is not possible perhaps a definitive statement on this and advice on what to try next in order to work. For instance - do I need to convert this project from an automatically signed one to a manual one?

I'm using the following page which mentions automatic signing but doesn't give any instructions on how to configure (but does mention this as an option):

https://learn.microsoft.com/en-us/azure/devops/pipelines/apps/mobile/app-signing?view=vsts&tabs=apple-install-during-build

enter image description here

Any help would be appreciated.

Thanks,

Andrew

like image 434
Andrew Lombard Avatar asked Oct 28 '25 02:10

Andrew Lombard


1 Answers

To help anyone who comes across this later.

The issue in my case was that I have a solution with multiple targets (App, Widget, Siri Intent, and Siri UI). Each of these requires it's own provisioning profile and needs to be signed independently - this is where I ran into trouble (the default configuration seemed to try and apply the App profile to all Targets when signing).

To help anyone who struggles with this - in order to solve I needed the following steps in Xcode:

  1. Convert the project to manual signing.
  2. Archive and export in Xcode
  3. 'Distribute via App Store'
  4. Select to Export but not submit and choose a location
  5. Selected the desired provisioning profiles for the export.
  6. After export head to saved location and grab 'exportOptions.Plist'.
  7. Choose .plist for 'export options' in the appropriate DevOps pipeline.

Voila you can sign your solution with multiple schemes!

Hope this helps someone.

Andrew

PS - At some moment I will confirm that setting everything back to automatic signing works with exportOptions.Plist and will report back.

like image 79
Andrew Lombard Avatar answered Oct 30 '25 18:10

Andrew Lombard