0

I'm trying to setup a DevOps build pipeline (eventually for UI Testing) initially for Xamarin.iOS. We have other issues with AppCenter.

I've used the default Xamarin iOS template and am working through the issues.

We're using a mac vm / image.

We decided to use a Debug version of our app as this would provide more useful information from any UI Tests errors. So eventually we can test our build on Simulators in AppCenter.

However, I'm getting this error. I've ensured that I've included a entitlements.plist which has APS Environment set to development. I'm just unsure why it would need a provisioning profile.

I'm not actually sure what AppCenter would require from the build, perhaps it only works with ipa files ? And that therefore requires a profile ???

(_DetectSigningIdentity target) -> 
  /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.Shared.targets(239,3): 
error : Could not find any available provisioning profiles for ourapp.iOS on iOS. 
[/Users/runner/work/1/s/ourapp/iOS/ourapp.iOS.csproj]
/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.Shared.targets(239,3): 
error : [/Users/runner/work/1/s/ourapp/iOS/ourapp.iOS.csproj]
Jules
  • 7,568
  • 14
  • 102
  • 186

1 Answers1

0

If the project include Entitlements.plist, you will need provisioning profile to enable entitlements. See threads here and here.

As it explained as below. If APS Environment is set to development. It means you need togenerate a development provisioning profile. See here.

Xcode sets the value of the entitlement based on your app's current provisioning profile. For example, if you're using a development provisioning profile, Xcode sets the value to development.

You can check the document Device provisioning for Xamarin.iOS to generate a provisioning profile. Also see this thread.

When you get your provisioning profile. You can upload it to azure develops secure files. And use InstallAppleProvisioningProfile task to download it in your pipeline. See document here for more information. You can also check out the example in this blog.

Levi Lu-MSFT
  • 27,483
  • 2
  • 31
  • 43
  • Thanks, so if I remove entitlement.plist it won’t need a p profile ? – Jules Mar 11 '21 at 06:18
  • 1
    @Jules Yes, you can have a try removing the entitlement.plist. – Levi Lu-MSFT Mar 11 '21 at 06:23
  • Thanks, one more question, is an ipa required for app center for ui testing and does that require a p profile ? – Jules Mar 11 '21 at 06:25
  • 1
    @Jules Yes .ipa file is required for UI testing. see [here](https://learn.microsoft.com/en-us/appcenter/test-cloud/vsts-plugin). And the Xamarin.iOS build task will only generate an .ipa package if the agent running the job has the appropriate provisioning profile and Apple certificate installed. See [here](https://learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/xamarin?view=azure-devops&tabs=yaml#sign-and-provision-a-xamarinios-app---the-packageapp-option) – Levi Lu-MSFT Mar 11 '21 at 06:35